茉莉花TypeError:obj.display不是一个函数

时间:2019-02-14 15:34:29

标签: javascript jasmine

我正在编写规范以测试文件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()。任何帮助表示赞赏。

0 个答案:

没有答案