12
Mam następujący kontroler:w kanciastych js podczas testowania kontrolera dostali wiadomo dostawcy
angular.module('samples.controllers',[])
.controller('MainCtrl', ['$scope', 'Samples', function($scope, Samples){
//Controller code
}
Która zależy od następującego usługi:
angular.module('samples.services', []).
factory('Samples', function($http){
// Service code
}
Próbował przetestować kontroler, używając następującego kodu:
describe('Main Controller', function() {
var service, controller, $httpBackend;
beforeEach(module('samples.controllers'));
beforeEach(module('samples.services'));
beforeEach(inject(function(MainCtrl, Samples, _$httpBackend_) {
}));
it('Should fight evil', function() {
});
});
Ale uzyskałem następujący błąd:
Error: Unknown provider: MainCtrlProvider <- MainCtrl.
Ps próbowałem następujące post, nie wydaje się, aby pomóc
Powodem, dla którego nie można załadować kontrolera jako zależności, jest fakt, że kontrolery są przechowywane w rejestrze i nie mają dostawcy. Właśnie dlatego otrzymujesz powyższy błąd. Tylko wartości/stałe/fabryki/usługi mogą być ładowane jako zależności. –
@ShaiRez, wielkie dzięki. Robiłem sobie z tym problem godzinami, a potem przeczytałem twój komentarz o 3 raz i kliknęło! Dzięki jeszcze raz. – ken