Я пытаюсь провести тестирование контроллера в AngularJs, и я следую инструкциям AngularJs в качестве руководства. https://docs.angularjs.org/guide/controller
неуверенность в ошибках в модульном тестировании angularjs
в руководстве (в приведенной выше ссылке), они имеют этот код в контроллере
$scope.spice = "habanero";
и этот код в тесте
it('should set the default value of spice', function() {
expect($scope.spice).toBe('habanero');
});
в контроллере я тестирую есть некоторые Код:
$scope.sessionViewModel = session;
и в своем тесте я написали:
it('should set the default value of sessionViewModel', function(){
expect($scope.sessionViewModel).toBe(session);
});
пока я получаю сообщение об ошибке говорящее TypeError cannot read property 'sessionViewModel' of undefined
не совсем уверен, что я сделал неправильно
весь тестовый файл:
describe('forgotPasswordCtrl function', function() {
describe('forgotPasswordCtrl', function(){
var $scope;
var returnMsg = 'Forgot password response message';
var returnMsgTwo = '/web/tfgm_customer';
beforeEach(module('forgotPasswordApp'));
beforeEach(inject(function($rootScope, $controller){
$scope = $rootScope.$new();
$controller = ('ForgotPasswordCtrl', {$scope: $scope});
}));
it('returns a -forgot password response- message', function(){
expect($scope.globalError).toEqual(returnMsg);
});
it('assigns a url depending on a customer match happens', function(){
expect(window.location.assign).toEqual(returnMsgTwo);
});
it('should set the default value of sessionViewModel', function(){
expect($scope.sessionViewModel).toBe(session);
});
});
});
Эта ошибка говорит о том, что $ scope не определен. Не могли бы вы разместить весь тестовый файл? –
@SoroushHakami yep, done/ – RagingBull