Я пишу спецификацию для тестирования js-функции srvDisplay в файле sample.js:
//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 ().Любая помощь приветствуется.