Javascript 向Angular服务中注入依赖项以进行测试
我正在尝试使用Jasmine编写一个角度服务的测试驱动开发。然而,我似乎在第一个障碍上绊倒了,我无法解决对$resource的依赖 我得到的错误是Javascript 向Angular服务中注入依赖项以进行测试,javascript,angularjs,Javascript,Angularjs,我正在尝试使用Jasmine编写一个角度服务的测试驱动开发。然而,我似乎在第一个障碍上绊倒了,我无法解决对$resource的依赖 我得到的错误是 未知提供程序:$resourceProviderngResource必须是依赖项: (function() { 'use strict'; angular .module('common', ['ngSanitize', 'ngAnimate', 'ngResource']); })(); 你在使用因果报应吗?你能检查一下你的karma.
未知提供程序:$resourceProviderngResource必须是依赖项:
(function() {
'use strict';
angular
.module('common', ['ngSanitize', 'ngAnimate', 'ngResource']);
})();
你在使用因果报应吗?你能检查一下你的karma.conf.js,看看你所有的js文件都包含在里面吗?实际上我只是用独立的Jasmine来运行它们。SpecRunner文件中包括模块、服务、测试和所有anguarjs文件。
(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
(function() {
'use strict';
angular
.module('common', ['ngSanitize', 'ngAnimate', 'ngResource']);
})();