Я довольно новичок в AngularJS и тестировании, поэтому я пытаюсь протестировать свой сервис, который я сделал в AngularJS.
Я настроил такую услугу
var serviceModule = angular.module('App.services', []);
serviceModule.factory('subscribeService', function ($http) {
return {
getNumberOfSubscribers : function() {
return $http.get('/jsonFiles/subscribers.json')
.then(function(subscribers) {
return subscribers.length;
});
}
};
});
И тест проходит так.
describe('Subscribe service test', function() {
var httpBackend,
subscribeServiceMock,
subscribers;
subscribers = [{"email": "[email protected]", "subscriptions": "A,B,C"},
{"email": "[email protected]", "subscriptions": "A,C,D"},
{"email": "[email protected]", "subscriptions": "B,C,F"}];
beforeEach(module('App.services'));
beforeEach(inject(function(subscribeService){
subscribeServiceMock = subscribeService;
}));
it('Should return total numbers of subsribers', inject(function ($httpBackend) {
$httpBackend.whenGET('/jsonFiles/subscribers.json').respond(subscribers);
var numberOfSubscribers = subscribeServiceMock.getNumberOfSubscribers();
$httpBackend.flush();
expect(numberOfSubscribers).toEqual(3);
}));
Тестовый шов завершается с ошибкой: «Тест службы подписки должен возвращать общее количество подписчиков FAILED» «Ожидаемое значение { then : Function } равно 3»
Мне интересно, где я ошибся?