Unit testing spyOn多个$broadcasts或忽略其中一个
我有一些代码可以监听广播,当它接收到广播时执行一些操作,然后自己广播一些东西Unit testing spyOn多个$broadcasts或忽略其中一个,unit-testing,angularjs,Unit Testing,Angularjs,我有一些代码可以监听广播,当它接收到广播时执行一些操作,然后自己广播一些东西 我如何构建一个单元测试来监听第二次广播?我可以同时测试这两个,或者忽略第一个,但目前spyOn只捕获第一个广播,即我在单元测试中触发的广播。找到了:您可以执行以下操作: spyOn($scope, '$broadcast').andCallThrough(); 这样,两个呼叫都会出现,并且可以预期: expect($scope.$broadcast).toHaveBeenCalledWith('triggerApp'
我如何构建一个单元测试来监听第二次广播?我可以同时测试这两个,或者忽略第一个,但目前spyOn只捕获第一个广播,即我在单元测试中触发的广播。找到了:您可以执行以下操作:
spyOn($scope, '$broadcast').andCallThrough();
这样,两个呼叫都会出现,并且可以预期:
expect($scope.$broadcast).toHaveBeenCalledWith('triggerApp');
expect($scope.$broadcast).toHaveBeenCalledWith('appResponse');
你想测试什么?期望是什么?您只是想测试第二次
$broadcast
是否发生?或者什么?对,就是这样