In this plunk我有一个由Jasmine测试测试的Angular服务。测试显然无法找到服务,我得到了
错误:[$ injector:unpr] http://errors.angularjs.org/1.6.1/ $注射器/ unpr?P0 = UtilsProvider%20%3 C-%20Utils
以及
错误:声明位置
这里的问题是什么?
使用Javascript:
var app = angular.module("app", [])
app.service('Utils', function(){
this.sum = function(a, b) {
return a + b;
};
});
describe("Testing Service Utils", function() {
beforeEach(function() {
angular.module("app");
});
it('should sum',
inject(function(Utils) {
expect(Utils.sum(1,2)).to.equal(3);
}));
});
答案 0 :(得分:1)
两个问题......
要注册模块配置以进行测试,您需要使用angular.mock.module
beforeEach(angular.mock.module('app'))
// or simply beforeEach(module('app'))
平等断言是toEqual
,而不是to.equal
expect(Utils.sum(1,2)).toEqual(3)