我有一個功能具有呼叫模擬出angular.element測試
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
});
});
});
好的。適用於我 – ganta
重要的一行是'spy.andCallThrough();' – Daniel