저는 Jasmine을 사용하여 작성중인 각도 서비스의 테스트 중심 개발을 시도하고 있습니다. 그러나, 나는 첫 번째 장애물을 발견 한 것 같아서 해결할 자원 의존성을 얻을 수 없습니다.테스트를 위해 Angular 서비스에 의존성 주입
내가 오류가 알 수없는 공급자 : $ resourceProvider < - $ 자원 < - 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 파일은 내 러너 파일에 포함되어 있습니다. 내가 어디로 잘못 가고 있는지 잘 모르겠다. 어떤 도움을 주시면 감사하겠습니다.
감사
당신이 카르마를 사용하고 있습니까? karma.conf.js를 확인하고 모든 js 파일이 포함되어 있는지 확인할 수 있습니까? – Srijith
사실 저는 독립 실행 형 재스민을 사용하여 실제로 실행하고 있습니다. 모듈, 서비스, 테스트 및 모든 anguarjs 파일은 SpecRunner 파일에 포함됩니다. –