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