【问题标题】:Angular11 test: ReferenceError: ResizeObserver is not definedAngular11 测试:ReferenceError:未定义 ResizeObserver
【发布时间】:2021-04-11 23:01:43
【问题描述】:

我在我的组件中使用了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) {

我使用TestBed创建组件:

fixture = TestBed.createComponent(MyComponent);

我不明白为什么会出现这个错误,我只是新建了一个对象。

ts 版本

"rxjs": "~6.5.5",
"tslib": "^2.0.0",
"zone.js": "~0.10.3"

感谢您的帮助!

【问题讨论】:

标签: angular angular-test testbed angular11


【解决方案1】:

我通过以下方式解决了它:


// import section ...

window.ResizeObserver =
    window.ResizeObserver ||
    jest.fn().mockImplementation(() => ({
        disconnect: jest.fn(),
        observe: jest.fn(),
        unobserve: jest.fn(),
    }));

describe('', () => {
  // test ...
});

【讨论】:

    猜你喜欢
    • 2021-10-11
    • 2021-10-08
    • 1970-01-01
    • 2018-05-05
    • 2019-09-25
    • 2018-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多