spyOn多个$ broadcasts或忽略其中一个

时间:2013-12-09 15:15:43

标签: unit-testing angularjs

我有代码可以监听广播,在接收广播时执行某些操作,然后自己广播。

如何构建侦听第二次广播的单元测试?我可以测试两者,或者忽略第一个,但是此时spyOn只捕获了第一个广播,我在单元测试中触发了一个。

1 个答案:

答案 0 :(得分:3)

找到它:您可以执行以下操作:

spyOn($scope, '$broadcast').andCallThrough();

这样两种调用都会出现,可以预期:

expect($scope.$broadcast).toHaveBeenCalledWith('triggerApp');
expect($scope.$broadcast).toHaveBeenCalledWith('appResponse');