Я пытаюсь написать несколько тестов для контроллера, но ВСЕ документация/учебники/и т. Д. Демонстрируют функции и переменные в области $ scope. Что делать, если вы хотите проверить что-то не на $ scope?Угловое модульное тестирование: как проверить свойства контроллера без области действия
Ex:
app.controller('fakeCtrl', function($scope) {
var foo = 'bar';
function fooBar() {
console.log('foo bar');
}
});
Есть ли способ для модульного тестирования foo
или fooBar()
?
Вот что НЕ работает:
describe("fake controller", function(){
beforeEach(module('app'));
var $controller;
beforeEach(inject(function(_$controller_, $rootScope){
$controller = _$controller_;
$scope = $rootScope.$new();
}));
describe('foo property', function() {
it('is bar', function() {
var controller = $controller('fakeCtrl', { $scope: $scope });
expect(controller.foo).toEqual('bar');
});
});
...