在 window.addEventListener 函数中测试代码

鲍伯恩01

我有以下angularjs基于组件的工作正常,但查看测试覆盖率之后的任何内容window.addEventListener('message',都没有被覆盖。

我应该模拟window对象并提供我自己的实现addEventListener吗?或监视它并检查它是否被调用?

my.component.controller.ts

export class MyComponentController {
  constructor() {}

  public theEventOccurred(e: any) {
    let json = JSON.parse(e.data);
    console.log(json.document);
  }

  public $onInit() {
    window.addEventListener('message', (event) => {
      this.theEventOccurred(event);
    }, false);
  }
}

my.component.spec.ts

describe('Component: my', () => {

  let $componentController: angular.IComponentControllerService;
  let scope: angular.IScope;

  beforeEach(inject(
    ($rootScope: angular.IScope,
      _$componentController_: angular.IComponentControllerService) => {
      scope = $rootScope.$new();
      $componentController = _$componentController_;
    }));

  describe('Controller: MyComponentController', () => {
    it('should log json.document', () => {
      let ctrl: any = $componentController('my', { $scope: scope });
      ctrl.$onInit();
    });
  });
});
特尔曼·阿哈巴博夫

我认为直接访问windowdocument从组件代码访问对象不是一个好的模式

正如我所见,更好的方法是放入window一个单独的服务,然后只使用依赖注入将服务放入组件中。

例如检查这个

然后你可以窥探服务的方法,或者只是在你的测试中注入一个模拟服务。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在window.addEventListener中更新React状态

来自分类Dev

是将函数分配给window.onerror而不是window.addEventListener('error',callback)吗?

来自分类Dev

对DOM中的更改做出反应:Mutation Observers,window.addEventListener(“ onresize”,callback)或CSS替代方法?

来自分类Dev

从 iframe 发出的消息上的 window.addEventListener

来自分类Dev

在函数内执行addEventListener()

来自分类Dev

工作代码带来错误addEventListener不是函数

来自分类Dev

在 addEventListener 中设置变量

来自分类Dev

茉莉花测试,addEventListener

来自分类Dev

Ava在addEventListener()上测试setTimeout()

来自分类Dev

JavaScript是否允许超过1个window.addeventlistener与“负载”?

来自分类Dev

window.addEventListener(“ load”,在页面加载时不起作用

来自分类Dev

window.addEventListener未在点击事件上执行

来自分类Dev

可以在 window.addEventListener 中使用 $(document).ready

来自分类Dev

创建 window.AddEventListener 时 Div 不显示为“无”

来自分类Dev

只运行一次 window.addEventListener('load' ...)

来自分类Dev

addEventListener两个函数

来自分类Dev

addEventListener不是函数错误

来自分类Dev

JavaScript addEventListener函数语法

来自分类Dev

数组元素的AddEventListener不是函数

来自分类Dev

在 React 中 addEventListener 为 null

来自分类Dev

在 Angular 6 中停止 addEventListener

来自分类Dev

在window.location =“#target”之后触发window.addEventListener('scroll',func)触发

来自分类Dev

函数从未由getElementById()。addEventListener()触发

来自分类Dev

JavaScript关闭el.addEventListener不是函数

来自分类Dev

addEventListener-使用属性指定函数引用

来自分类Dev

为什么addEventListener返回不是函数

来自分类Dev

addEventListener在函数内部不起作用

来自分类Dev

x.addEventListener不是函数吗?

来自分类Dev

Javascript函数和IE错误addEventListener JQuery

Related 相关文章

  1. 1

    在window.addEventListener中更新React状态

  2. 2

    是将函数分配给window.onerror而不是window.addEventListener('error',callback)吗?

  3. 3

    对DOM中的更改做出反应:Mutation Observers,window.addEventListener(“ onresize”,callback)或CSS替代方法?

  4. 4

    从 iframe 发出的消息上的 window.addEventListener

  5. 5

    在函数内执行addEventListener()

  6. 6

    工作代码带来错误addEventListener不是函数

  7. 7

    在 addEventListener 中设置变量

  8. 8

    茉莉花测试,addEventListener

  9. 9

    Ava在addEventListener()上测试setTimeout()

  10. 10

    JavaScript是否允许超过1个window.addeventlistener与“负载”?

  11. 11

    window.addEventListener(“ load”,在页面加载时不起作用

  12. 12

    window.addEventListener未在点击事件上执行

  13. 13

    可以在 window.addEventListener 中使用 $(document).ready

  14. 14

    创建 window.AddEventListener 时 Div 不显示为“无”

  15. 15

    只运行一次 window.addEventListener('load' ...)

  16. 16

    addEventListener两个函数

  17. 17

    addEventListener不是函数错误

  18. 18

    JavaScript addEventListener函数语法

  19. 19

    数组元素的AddEventListener不是函数

  20. 20

    在 React 中 addEventListener 为 null

  21. 21

    在 Angular 6 中停止 addEventListener

  22. 22

    在window.location =“#target”之后触发window.addEventListener('scroll',func)触发

  23. 23

    函数从未由getElementById()。addEventListener()触发

  24. 24

    JavaScript关闭el.addEventListener不是函数

  25. 25

    addEventListener-使用属性指定函数引用

  26. 26

    为什么addEventListener返回不是函数

  27. 27

    addEventListener在函数内部不起作用

  28. 28

    x.addEventListener不是函数吗?

  29. 29

    Javascript函数和IE错误addEventListener JQuery

热门标签

归档