Bonjour, voici le problème que j'ai rencontré :
Mais dans le document officiel, il mentionne l'étape d'injection avantEach, et lorsque je l'écris en utilisant la méthode officielle, il affiche toujours une erreur ControllerProvider inconnue,
. Voici le code que j'ai écrit selon la documentation officielle :
describe('indexCtrl',function(){
var $controller;
beforeEach(module('controllers'));
beforeEach(inject(function(_controller_){
$controller = _controller_;
}));
describe('the add function should be right',function(){
it('should be 34',function(){
var $scope = {};
var controller = $controller('indexCtrl',{$scope: $scope});
$scope.add(14,20);
except(controller).toBeDefined();
except($scope.sum).toEqual(34);
})
})
})
Voici l'erreur signalée :
Error: [$injector:unpr] Unknown provider: controllerProvider <- controll
euh
http://errors.angularjs.org/1.5.8/$injector/unpr?p0=controllerProvider%2
0<- contrôleur
Voici le code que j'ai modifié à partir d'un exemple sur Internet :
it('add test', inject(function ($controller) {
var $scope = {};
//spec body
var indexCtrl = $controller('indexCtrl', {$scope: $scope});
expect(indexCtrl).toBeDefined();
expect($scope.add(2, 3)).toEqual(5);
}));
测试通过
Je ne connais pas la raison, mais il va de soi que ce qui est donné sur le site officiel est correct. Les deux codes sont simplement injectés dans un ordre différent. J'espère que tout le monde pourra aider
J'ai le même problème. S'il vous plaît, dites-moi ce qui ne va pas et comment le résoudre ?