angularjs – 错误:期待间谍,但得到了功能
发布时间:2020-12-17 09:15:44 所属栏目:安全 来源:网络整理
导读:这是我的控制器: export class testController { static $inject: string[] = ["testService","$mdDialog","$state"]; constructor(public _testService: services.testService,private _mdDialog: any,private _$state: any) { this.isCurrentlyEditing =
|
这是我的控制器:
export class testController {
static $inject: string[] = ["testService","$mdDialog","$state"];
constructor(public _testService: services.testService,private _mdDialog: any,private _$state: any) {
this.isCurrentlyEditing = false;
this.activate();
}
}
这是我的单元测试: import {test as service} from './test.service';
import {test as ctrl} from './test.controller';
export function main() {
describe("testController",() => {
var mdDialog: angular.material.IDialogService;
var state: ng.ui.IStateService;
var testService: any;
var controller: any;
beforeEach(function () {
angular.mock.module('comp.modules.addField');
});
beforeEach(function () {
testService = {
showCLULayer: () => { }
};
});
beforeEach(module('comp'));
beforeEach(inject(($injector: any) => {
mdDialog = $injector.get('$mdDialog');
state = $injector.get('$state');
testService = $injector.get('testService');
controller = new ctrl.testController(testService,mdDialog,state);
}));
it("should Create Controller",() => {
controller = new ctrl.testController(testService,state);
spyOn(testService,'showCLULayer').and.callThrough();
expect(controller).not.toBeNull();
expect(controller.activate).toHaveBeenCalled();
////error Expected a spy,but got Function.
});
});
}
当测试到达该行时,测试会抛出错误: expect(controller.activate).toHaveBeenCalled(); 说,期待一个间谍,但得到了功能. Activate是一个函数,当我调用我正在测试的控制器的构造函数时调用它.有人可以指出我正确的方向. 尝试添加线 spyOn(controller,'activate'); 在期待之前,我收到以下错误. Expected spy activate to have been called. Error: Expected spy activate to have been called.
在测试是否调用函数之前,您需要监视函数.试试这个:
it("should Create Controller",'showCLULayer').and.callThrough();
expect(controller).not.toBeNull();
spyOn(controller,'activate'); // < ------------Spy on the function
expect(controller.activate).toHaveBeenCalled();
////error Expected a spy,but got Function.
});
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
