测试是否在Jasmine中触发了事件

时间:2016-01-22 02:31:51

标签: javascript unit-testing testing javascript-events jasmine

如何在没有jquery-jasmine的Jasmine中测试是否已触发事件?

我正在开展一个我们不使用jQuery(wohoo)的项目,我正在尝试为菜单触发功能编写单元测试。它的工作原理如下:

  • 您点击按钮
  • 我的可测试组件然后运行document.dispatchEvent(new CustomEvent('menu.toggle'))
  • 我想测试该组件确实调度了自定义事件。

我该如何测试?

1 个答案:

答案 0 :(得分:9)

玩了一下,找到了一个运作良好的解决方案:

<body>
  
</body>

基本上创建一个名为'event'的新间谍,将其添加为我的事件的事件处理程序,然后验证它已被调用。

如果有更好的方法,我会非常乐意接受不同的答案。