我正在测试的代码是:
obj.getTimeSent().getTime();
其中obj.getTimeSent()
返回日期,然后在该日期调用getTime()
。
要保留此功能,我尝试了这个:
const timeStub = sandbox.stub(Obj, 'getTimeSent').callsFake(() => {
return 1 //Doesn't matter what it returns
});
sinon documentation表示callsFake()
“在调用时使存根调用提供的fakeFunction”但得到错误“TypeError:obj.getTimeSent(...)。getTime不是函数”< / p>
答案 0 :(得分:0)
一个函数应该返回另一个函数来链:
const getTimeStub = sandbox.stub().returns(...);
const getTimeSentStub = sandbox.stub(obj, 'getTimeSent').returns({ getTime: getTimeStub });