0
我需要用Jasmine 2.0測試每個控制器中的聽衆,這個問題真的只是爲了加強我的邏輯,也許有一種更優雅的方式來接近測試聽衆,或者我也可以徹底!用茉莉花測試多個聽衆
這對codereview來說可能是一個更好的問題,但我會把它留在這裏。如何正確測試控制器中的多個按鍵/事件監聽器?
it("should trigger the correct actions from key events", function() {
var listenerSpy = jasmine.createSpy('listenerSpy');
angular.forEach(scope.$$listeners, function (fn, eventName) {
listenerSpy(eventName, fn);
expect(listenerSpy).toHaveBeenCalledWith(eventName, fn);
});
});
每個監聽器都是$ scope。$上有一個回調,它是控制器作用域中的一個私有函數,$$ listeners返回一個對象,其中鍵是函數,value是事件名稱。這只是測試每個偵聽器是否正確執行它們各自的回調。 – iamwhitebox
該測試與spyOn(angular,'noop')相同; angular.noop(someVar);期望(angular.noop).toHaveBeenCalledWith(someVar); –
正確,所以我想問題是,如何測試某個函數是否實際被遞歸調用 – iamwhitebox