本文介绍了Angular11 测试:ReferenceError:未定义 ResizeObserver的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在我的组件中使用了 ResizeObserver
并且它工作正常.但是运行ut时出现这样的错误:
ReferenceError: ResizeObserver 未定义133 |});134 |>135 |this.resizeObserver = new ResizeObserver((entries) => {|^136 |const entry = entries.find((e) => e.target === this.wrapper._elementRef.nativeElement);137 |如果(条目&& entry.contentRect){138 |如果 (this.select && this.select.isOpen) {
我使用 TestBed 创建组件:
fixture = TestBed.createComponent(MyComponent);
我不明白为什么会出现这个错误,我只是新建了一个对象.
ts 版本
rxjs":~6.5.5",tslib":^2.0.0",zone.js":~0.10.3";
感谢您的帮助!
解决方案
我通过以下方式解决了:
//导入部分...window.ResizeObserver =window.ResizeObserver ||jest.fn().mockImplementation(() => ({断开连接: jest.fn(),观察: jest.fn(),观察不到: jest.fn(),}));描述('', () => {//测试 ...});I used ResizeObserver
in my component and its works fine.But get such error when running ut:
ReferenceError: ResizeObserver is not defined
133 | });
134 |
> 135 | this.resizeObserver = new ResizeObserver((entries) => {
| ^
136 | const entry = entries.find((e) => e.target === this.wrapper._elementRef.nativeElement);
137 | if (entry && entry.contentRect) {
138 | if (this.select && this.select.isOpen) {
I use TestBed to create component:
fixture = TestBed.createComponent(MyComponent);
I can't understand why has this error, I just new an object.
ts version
"rxjs": "~6.5.5",
"tslib": "^2.0.0",
"zone.js": "~0.10.3"
Thanks for your help!
解决方案
I resolved it by:
// import section ...
window.ResizeObserver =
window.ResizeObserver ||
jest.fn().mockImplementation(() => ({
disconnect: jest.fn(),
observe: jest.fn(),
unobserve: jest.fn(),
}));
describe('', () => {
// test ...
});
这篇关于Angular11 测试:ReferenceError:未定义 ResizeObserver的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!