leo*_*leo 4 testbed angular angular-test angular11
我ResizeObserver在我的组件中使用过,它工作正常。但是运行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) {
Run Code Online (Sandbox Code Playgroud)
我使用 TestBed 创建组件:
fixture = TestBed.createComponent(MyComponent);
Run Code Online (Sandbox Code Playgroud)
我不明白为什么会出现这个错误,我只是新建了一个对象。
ts 版本
"rxjs": "~6.5.5",
"tslib": "^2.0.0",
"zone.js": "~0.10.3"
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
我通过以下方式解决了它:
// import section ...
window.ResizeObserver =
window.ResizeObserver ||
jest.fn().mockImplementation(() => ({
disconnect: jest.fn(),
observe: jest.fn(),
unobserve: jest.fn(),
}));
describe('', () => {
// test ...
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1972 次 |
| 最近记录: |