2013-12-09 20 views
0

我有一個代碼,它監聽廣播,當它接收到它時執行一些動作,然後自己也廣播一些東西。

我該如何建立一個單元測試來監聽第二個廣播?我對兩種測試都沒有問題,或者忽略了第一種,但目前spyOn只能捕獲第一個廣播,這是我在單元測試中觸發自己的廣播。

+0

什麼是你想測試?期望是什麼?你只是想測試第二個'$廣播'發生?或者是什麼? – tennisgent

+0

對,它發生了 – Maarten

回答

2

發現:你可以做到以下幾點:

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

這樣兩個呼叫顯示出來,並可以預期:

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