Я использую жасмин для тестирования angularJS. В моих взглядах, я использую «контроллер как» синтаксис:Как использовать переменные scope с синтаксисом «Контроллер как» в Jasmine?
<div ng-controller="configCtrl as config">
<div> {{ config.status }} </div>
</div>
Как я могу использовать эти «рамку» переменные в жасмине? Что означает «Контроллер как»? Мой тест выглядит следующим образом:
describe('ConfigCtrl', function(){
var scope;
beforeEach(angular.mock.module('busybee'));
beforeEach(angular.mock.inject(function($rootScope){
scope = $rootScope.$new();
$controller('configCtrl', {$scope: scope});
}));
it('should have text = "any"', function(){
expect(scope.status).toBe("any");
});
});
Вызов scope.status
концов, наверняка, с ошибкой:
Expected undefined to be "any".
UPDATE: Контроллер (составитель Javascript из машинопись) выглядит следующим образом:
var ConfigCtrl = (function() {
function ConfigCtrl($scope) {
this.status = "any";
}
ConfigCtrl.$inject = ['$scope'];
return ConfigCtrl;
})();
По крайней мере, вы должны сделать 'ожидать (scope.config.status) .toBe ("любой");' – zsong
Укажите код для 'configCtrl' как синтаксис почти как делают' $ объем. config = this; 'и делать' this.status = "any"; '. –
Он работает, если я определяю '$ scope.config = this;' вручную в моем контроллере. Но я думаю, что это не так, как должно быть, не так ли? – 3x14159265