2015-01-27 19 views
15

Tôi mới vào thử nghiệm trong góc và tìm kiếm rất khó để hiểu làm thế nào để làm một thử nghiệm đơn giản trên tiêm điều khiển của tôi, nhận được lỗi:góc/Karma: unknown cung cấp

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

Bộ điều khiển:

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

Test:

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(); 
     })); 

    }); 
}); 

Trong karma.conf.js của tôi tham khảo:

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' 
    ] 

Trả lời

21

Giả sử bạn đang sử dụng thư viện này https://github.com/grevory/angular-local-storage

Các module không được tải cho kỳ thi này.

Hoặc làm

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

để tiêm các module vào mô-đun của bạn.

hoặc thử

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

Cảm ơn bạn, đó là chính xác những gì đang xảy ra. – TMichel

Các vấn đề liên quan