我试图通过使用Jasmine进行角色服务的测试驱动开发。但是,我似乎偶然发现了第一个障碍,我无法解决我的$ resource依赖问题。
我得到的错误是 未知提供者:$ resourceProvider< - $ resource< - lookupService
我的代码如下
模块:
(function() {
'use strict';
angular
.module('common', ['ngSanitize', 'ngAnimate']);
})();
服务:
(function() {
'use strict';
angular
.module('common')
.service('lookupService', lookupService);
lookupService.$inject = ['$resource', 'api'];
function lookupService($resource, api) {
return {
getLookup: getLookup
};
function getLookup() {
return "something";
}
}
})();
测试:
describe('Service tests',
function () {
var lookupService, mockApi, $httpBackend;
//mocks
beforeEach(function () {
mockApi = { getUri: jasmine.createSpy() };
angular.mock.module('common',
function ($provide) {
$provide.value('api', mockApi);
});
});
//injects
beforeEach(function () {
inject(function ($injector) {
$httpBackend = $injector.get('$httpBackend');
lookupService = $injector.get('lookupService');
});
});
//tests
it('should be able to return something',
inject(function () {
expect(lookupService.getLookup()).toEqual("something");
}));
});//Service tests
angular-resource.js文件包含在我的跑步者文件中。我不确定自己哪里出错,任何帮助都会受到赞赏。
由于
答案 0 :(得分:1)
ngResource必须是依赖项:
(function() {
'use strict';
angular
.module('common', ['ngSanitize', 'ngAnimate', 'ngResource']);
})();