У меня есть функция в контроллере, который имеет вызов
var someVar = angular.element(event.target).scope().field;
Я пытаюсь издеваться над этим, делая
var ngElementFake = function(el) {
return {
scope: function() {
return {
toggleChildElement: true,
field: scope.field
}
}
}
}
spyOn(angular, 'element').andCallFake(ngElementFake);
Однако, когда я вызываю функцию в тесте, я получаю ответ:
TypeError: 'undefined' is not a function (evaluating 'injector.get('$rootElement').off()')
at ../angular-mocks/angular-mocks.js:1819
Что я делаю неправильно?
РЕДАКТИРОВАТЬ: Инъекция
beforeEach(function() {
inject(function($rootScope, $controller) {
scope = $rootScope;
scope.record = recordData;
scope.model = 'Hierarchy';
ctrl = $controller("fngHierarchyChildCtrl", {
$scope: scope
});
});
});