我正在编写规范以测试文件sample.js中的js函数srvDisplay:
//sample.js:
srvDisplay: function()
{
//some code
let ret = obj.displayReq();
//some code
}
其中obj在sample.js中被声明为全局对象,
let obj = MY.AppServ.getService(serviceName);
我的规格如下所示:
//sample.t.js
describe('Display service testing', function()
{
it('testcaseDisplay', function()
{
let context = null;
context = g_jsTest.loadFile('sample.js');//some custom code to load file
context.displaySpy = jasmine.createSpy();
let fakeDisplayObj = {
displayReq : context.displaySpy
};
context.MY.AppServ.getService = jasmine.createSpy().and.returnValue(fakeDisplayObj);
context.srvDisplay(); //get type error here: TypeError: obj.displayReq is not a function
});
});
我正在监视“ MY.AppServ.getService”,该错误应返回fakeDisplayObj,而后者又包含obj.displayReq()。任何帮助表示赞赏。