我收到以下错误:TypeError: undefined is not a function
问题是常见的是模块和工厂,问题出在我的生产线上
var ctrl = $controllerConstructor("resetPasswordSentScreen", { $scope: scope, common: common});
这是完整的测试:
describe('resetPasswordSentScreen', function () {
var scope, $controllerConstructor;
beforeEach(module('common', 'app'));
beforeEach(inject(function($controller, $rootScope) {
scope = $rootScope.$new();
$controllerConstructor = $controller;
}));
it('it should navigate to the correct url when backToLogin is called ', function (common) {
var ctrl = $controllerConstructor("resetPasswordSentScreen", { $scope: scope, common: common });
var mocklocation = sinon.stub({ url: function () {}});
expect(scope.backToLogin()).toBe(mocklocation.url);
});
});
那不是问题,问题是您不能像在代码中那样将东西注入函数中。要进行注入,您需要inject
像在中一样进行调用beforeEach
。因此,如果要注入该工厂,则需要这样做:
it("message", inject(function(common) {
...
}));
有你如何注入。那应该工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句