Я чрезвычайно новичок в угловом и жасмине, поэтому, извините, если это основной вопрос, и я кое-что упустил из документации и учебных пособий, которые я прочитал. Я создаю свой первый модульный тест для нового углового проекта. У меня возникают проблемы с вызовами методов и некоторыми переменными.Вызов методов объемной области в жасмине
Я проверяю этот манекен контроллер:
.controller('DummyCtrl', function DummyCtrl($scope){
$scope.name = "TBD";
$scope.changeToJackie = function(){
$scope.name="Jackie";
};
$scope.changeToGeorge = function() {
$scope.name="George";
};
})
С помощью этого теста блок:
describe('DummyCtrl', function(){
var $scope, $controller, DummyCtrl;
beforeEach(module('mApp');
beforeEach(inject(function($injector) {
$scope = $injector.get('$rootScope');
$controller = $injector.get('$controller');
DummyCtrl = $controller('DummyCtrl', {$scope: $scope});
it('should start with TBD', function(){
expect($scope.name).toEqual("TBD");
});
$scope.changeToJackie();
it('should now say Jackie', function() {
expect($scope.name).toEqual("Jackie");
});
$scope.changeToGeorge();
it ('should now say George', function() {
expect($scope.name).toEqual("George");
});
});
Я получаю тонны больше ошибок в этом более базовой версии, которую я создал, чтобы выяснить мой фактические модульные тесты (в частности, вызов $ scope.method ("param"), который вызывает $ http.PUT. Мои ошибки больше похожи:
Chrome 27.0 (Mac) unauth controllers DummyCtrl should start with TBD FAILED
Error: Argument 'DummyCtrl' is not a function, got undefined
at assertArg (/<path>/build/angular/angular.js:975:11)
at assertArgFn (/<path>/build/angular/angular.js:985:3)
at /<path>/build/angular/angular.js:4656:9
at null.<anonymous> (/<path>/src/app/unauth/unauth.spec.js:20:16)
at Object.invoke (/<path>/build/angular/angular.js:2820:28)
at workFn (/o<path>/build/angular/angular-mocks.js:1780:20)
Error: Declaration Location
at window.inject.angular.mock.inject (/<path>/build/angular/angular-mocks.js:1766:25)
at null.<anonymous> (/<path>/src/app/unauth/unauth.spec.js:10:14)
at null.<anonymous> (/<path>/src/app/unauth/unauth.spec.js:9:2)
at /o<path>/src/app/unauth/unauth.spec.js:1:1
Expected undefined to equal 'TBD'.
Error: Expected undefined to equal 'TBD'.
at null.<anonymous> (/<path>/src/app/unauth/unauth.spec.js:25:25)
Chrome 27.0 (Mac) unauth controllers DummyCtrl encountered a declaration exception FAILED
TypeError: Cannot read property 'stack' of null
at workFn (/<path>/build/angular/angular-mocks.js:1782:55)
TypeError: Cannot call method 'changeToJackie' of undefined
at null.<anonymous> (/<path>/src/app/unauth/unauth.spec.js:28:11)
at null.<anonymous> (/<path>/src/app/unauth/unauth.spec.js:23:3)
at null.<anonymous> (/<path>/src/app/unauth/unauth.spec.js:9:2)
Пожалуйста, извините мою силу в угловом/жасмине/javascript. Любая помощь будет благодарна, даже если это просто ссылка на лучший учебник.
удивительным! Это именно то, что мне нужно! Благодарю. – jbenowitz