首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular11测试:未定义ReferenceError: ResizeObserver

Angular11测试:未定义ReferenceError: ResizeObserver
EN

Stack Overflow用户
提问于 2021-01-06 15:22:32
回答 1查看 2.5K关注 0票数 4

我在我的组件中使用了ResizeObserver,它工作得很好。但是在运行ut时会出现这样的错误:

代码语言:javascript
复制
    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创建组件:

代码语言:javascript
复制
fixture = TestBed.createComponent(MyComponent);

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

ts版本

代码语言:javascript
复制
"rxjs": "~6.5.5",
"tslib": "^2.0.0",
"zone.js": "~0.10.3"

谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

发布于 2021-01-07 11:44:36

我通过以下方式解决了这个问题:

代码语言:javascript
复制
// import section ...

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

describe('', () => {
  // test ...
});
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65591705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档