Angular/Карма: неизвестный провайдер

Я новичок в тестировании в Angular и затрудняюсь понять, как сделать простой тест на мои инъекции контроллера, получив ошибку:

Error: [$injector:unpr] Unknown provider: localStorageServiceProvider <- localStorageService

Контроллер:

angular.module('myApp.home', [])
.controller('HomeCtrl', ['$scope','localStorageService',function($scope,localStorageService) {
// ...
}]);

Тест:

describe('myApp.home module', function() {
    var $scope;
    var localStorageService;

    beforeEach(module('myApp.home'));

    describe('home controller', function(){

      it('should ....', inject(function($controller,_$rootScope_,_localStorageService_) {
        $scope = _$rootScope_.$new();
        localStorageService = _localStorageService_;

        var headerCtrl = $controller('HomeCtrl',{"$scope" : $scope, "localStorageService" : localStorageService});
        expect(headerCtrl).toBeDefined();
      }));

    });
});

В моем karma.conf.js я ссылка:

files : [
      'app/bower_components/angular/angular.js',
      'app/bower_components/angular-route/angular-route.js',
      'app/bower_components/angular-mocks/angular-mocks.js',
      'app/bower_components/angular-local-storage/dist/angular-local-storage.js',
      'app/js/controllers/*.js'
    ]

Ответы

Ответ 1

Предполагая, что вы используете эту библиотеку https://github.com/grevory/angular-local-storage

Модуль не загружен для теста.

Либо сделайте

angular.module('myApp.home', ['LocalStorageModule'])

чтобы ввести модуль в ваш модуль.

или попробуйте

 beforeEach(module('LocalStorageModule'));
 beforeEach(module('myApp.home'));