2013-11-22 3 views
4

Я пытаюсь проверить угловой «сервис» (на самом деле реализован с использованием завода) с использованием жасмина, и получают следующее сообщение об ошибке:Неизвестная ошибка поставщика при тестировании углового завода с использованием жасмина

collectionService should contain collectionService 
Error: [$injector:unpr] Unknown provider: collectionServiceProvider <- collectionService http://errors.angularjs.org/1.2.1/$injector/unpr?p0=collectionServiceProvider%20%3C-%20collectionService in file:///C:/workspaces/angular/angular-1.2.1.js (line 78) 

Вот источник:

'use strict'; 

var collectionMockData = {}; 
var collectionMockErrorData = {}; 

angular.module('gid.services.collectionMockService', ['ngMockE2E']).run(function($httpBackend, $resource) { 
    $httpBackend.whenGET('/api/collection/v1/1234567890').respond(function(method, url, data, headers){ 
     return [200, collectionMockData, {}]; 
    }); 
    $httpBackend.whenGET('/api/collection/v1/1234567891').respond(function(method, url, data, headers){ 
     return [500, collectionMockErrorData , {}]; 
    }); 
}); 

angular.module('gid.services.collectionService', [ 'ngResource', 'gid.services.collectionMockService' ]) 
.factory('collectionService', ['$resource', function($resource) { 
    var collectionData = null; 
    var collectionResource = $resource('/api/collection/v1/:shopperId', { 'shopperId': '@id' }); 
    return { 
     getcollection: function (callback) { 
      collectionResource.get({ 'shopperId': '1234567890' }).$promise 
      .then(function (data) { 
       callback(data); 
      }).catch(function (data) { 
       callback(data); 
      }); 
     } 
    }; 
}]); 

Вот тест:

'use strict'; 

describe('collectionService', function() { 

    beforeEach(function() { 
     angular.module('gid.services.collectionService'); 
    }); 


    it('should contain collectionService', inject(function (collectionService) { 
     expect(collectionService).not.to.equal(null); 

    })); 

}); 

Может кто-нибудь сказать мне, что я делаю WR Здесь?

Я издеваюсь над REST API в самом источнике, так как реализация API REST-интерфейса не доступна.

Заранее благодарим за ваше время!

+0

Может быть: beforeEach (модуль ('gid.services.collectionService')); – Oliver

+2

Включили ли вы все свои файлы в свой 'karma.config.js'? –

ответ

1

Вместо

angular.module('gid.services.collectionService'); 

Вы должны использовать либо

angular.mock.module('gid.services.collectionService'); 

Или shortand

module('gid.services.collectionService'); 
Смежные вопросы