2015-03-29 3 views
1

Я пытаюсь внедрить сервис в тестовый модуль моего контроллера. Я не собираюсь делать извинения из службы, но просто включите ее, чтобы я мог получить доступ ко всем ее методам. Это возможно?Внедрение службы в тестовое устройство блока углового контроллера

'use strict'; 

    describe('Offers : controller', function(){ 

    beforeEach(module('client')); 

     var $scope, 
      controller, 
      $rootScope, 
      genericService; 


     beforeEach(inject(function($injector, $controller) { 

     $rootScope = $injector.get('$rootScope'); 
     controller = $controller('OffersCtrl', { $scope: $scope }); 
     genericService = $injector.get('genericService'); 
     $scope = $rootScope.$new(); 

    })); 

    it('should have a genericService', function() { 
    expect(genericService.method).toBeDefined(); 
    }); 


}); 

ответ

2

Просто вводить свой собственный сервис так же, как вы делали с угловыми услуг:

var genericService; 

beforeEach(inject(function(_genericService_) { 
    genericService = _genericService_; 
}); 

Обратите внимание, что вы можете использовать подчеркивает вокруг имени аргумента, чтобы избежать конфликтов имен. Угловые будут отделять их от имени аргумента при разрешении служб для инъекций.

Смежные вопросы