1
我正試圖在我的角度應用程序中測試一個控制器。每當我打電話給$controller
方法時,我都會收到一個空的對象。如何在角度測試控制器方法?
相關測試
describe("myCtrl", function() {
beforeEach(module("myMod"));
var myCtrl, scope;
beforeEach(inject(function($controller, $rootScope) {
scope = $rootScope.$new();
myCtrl = $controller('myCtrl', {$scope: scope});
}));
it("$scope.compute", function() {
expect(myCtrl.compute(1,1,1)).toBe(1);
});
});
控制器的相關部分:
.controller('myCtrl', ["$scope","serviceA", "serviceB", function($scope, serviceA, serviceB){
$scope.compute = function compute(a, b, c) {
return serviceA.calc(a, b, c);
};
}])
每當我跑我的測試,我得到一個錯誤undefined is not a function
。
如果我在調用該方法之前調用console.log(JSON.stringify(myCtrl))
,則表明myCtrl
是空對象({}
)。
我認爲我的問題是撥打電話$controller
或者我需要設置不同的範圍。
摘要:如何進行單元測試,以便在控制器內調用方法?
謝謝。這是有道理的。 – fdsa