Я пытаюсь проверить директиву, которая определена в подмодуле другого подмодуля корневого модуля. Я не могу получить доступ к переменным области, определенным в контроллере директивы. Кажется, проблема заключается в доступе к области действия изнутри теста.
Основной модуль называется oppia
, и у него есть подмодуль с именем stateEditorModule
, а у этого подмодуля также есть подмодуль с именем stateContentEditorModule
. Я попытался ввести $scope
вместо $rootScope
, но, похоже, это не работает.
Это тестовый код:
beforeEach(function() {
module('oppia');
module('stateEditorModule');
module('stateContentEditorModule');
});
outerScope = $rootScope.$new();
var elem = angular.element(
'<state-content-editor>' +
'</state-content-editor>');
var compiledElem = $compile(elem)(outerScope);
outerScope.$digest();
ctrlScope = compiledElem[0].getControllerScope();
}));
fit('should start with the content editor not being open', function() {
expect(ctrlScope.contentEditorIsOpen).toBe(false);
});
Переменная contentEditorIsOpen
определена в области действия директивы.
contentEditorIsOpen
недоступен с текущим состоянием кода.
Я застрял на этом довольно долго, и я был бы признателен, если бы кто-нибудь смог предоставить решение или указать документацию о том, как протестировать мультимодульное приложение AngularJS.