(Здесь есть связанный с этим вопрос: Тест Жасмина не видит модуль AngularJS)
Я просто хочу протестировать сервис без начальной загрузки Angular.
Я рассмотрю несколько примеров и учебник, но я никуда не пойду.
У меня всего три файла:
-
myService.js: где я определяю услугу AngularJS
-
test_myService.js: где я определяю тест Жасмина для службы.
-
specRunner.html: файл HTML с нормальной конфигурацией жасмина и где я импортирую предыдущие два других файла и Jasmine, Angularjs и angular -mocks.js.
Это код службы (который работает так, как ожидалось, когда я не тестирую):
var myModule = angular.module('myModule', []);
myModule.factory('myService', function(){
var serviceImplementation = {};
serviceImplementation.one = 1;
serviceImplementation.two = 2;
serviceImplementation.three = 3;
return serviceImplementation
});
Как я пытаюсь проверить службу изолированно, я должен иметь доступ к ней и проверять их методы. Мой вопрос: как я могу ввести службу в свой тест без загрузки AngularJS?
Например, как я могу проверить значение, возвращаемое для метода службы с помощью Jasmine следующим образом:
describe('myService test', function(){
describe('when I call myService.one', function(){
it('returns 1', function(){
myModule = angular.module('myModule');
//something is missing here..
expect( myService.one ).toEqual(1);
})
})
});