2
Я пытаюсь настроить тест для приложения AngularJS с помощью Jasmine. Это следует за docs, но немного проще. fiddle имеет следующий код:
angular.module('myapp', [])
.controller('MyCtrl', ['$scope', function MyCtrl($scope) {
$scope.greeting = "hello";
}]);
describe('My controller', function() {
var $controller;
module('myapp');
inject(function(_$controller_) {
$controller = _$controller_;
});
it('greets', function() {
var $scope = {};
var controller = $controller('MyCtrl', {
$scope: $scope
});
expect($scope.greeting).toEqual('hello');
})
});
И жасмин сообщает об ошибке: TypeError: $controller is not a function.
Как исправить код, чтобы избавиться от этой ошибки и быть в состоянии проверить контроллер?
не могли бы сказать, что лучше хороший ответ – danday74
и вы должны сделать убедитесь, что исходный код необходимых контроллеров загружен в конфигурацию вашей кармы в разделе «файлы». Имя модуля, которое вы загружаете в команде 'beforeEach (module ('modulename'));' в самом тесте теста, должно совпадать с именем модуля, которое вы используете в исходном файле контроллера, например. 'angular.module ('modulename', []). controller ...' – MichaelHuelsen