У меня есть функция в контроллере, который имеет вызов
var loadCtrlScope = angular.element($("#selectAllButton")).scope();
Я пытаюсь смоделировать это, выполнив:
var loadCtrlScope;
beforeEach(function () {
loadCtrlScope = angular.element('<button type="button" class="btn btn-
default" id="selectAllButton" ng-click="onSelectAll()">Select All</button>');
$compile(loadCtrlScope)(scope);
getLoadScopeSpy = sinon.stub(angular, 'element').returns(loadCtrlScope);
}
afterEach(function(){
getLoadScopeSpy.restore();
}
Однако, когда я вызываю функцию в тестеи печатать loadCtrlScope
в консоли, я получаю ответ:
Область {$$ childTail: ноль, $$ childHead: ноль, $$ nextSibling: ноль, $$ watchers: [Object {fn: ..., last: ..., get: ..., exp: ..., eq: ...}], $$ listeners: Object {}, $$ listenerCount: Object {}, $$ watchersCount: 1, $ id: 59, $$ ChildScope: null, $ parent: Scope {$ id: 58, $$ childTail: Scope {$$ childTail: ..., $$ childHead: ..., $$ nextSibling:..., $$ watchers: ..., $$ listeners: ..., $$ listenerCount: ..., $$ watchersCount: ..., $ id: ..., $$ ChildScope: ..., $ parent: ..., $$ prevSibling: ..., classNameForTextArea: ...
Этот ответ не включает в себя все поля, которые находятся в контроллере.
Если я попытаюсь вручную указать значение поля, используя loadCtrlScope.devicesWithPSArray = []
, оно не будет работать.