在Sinon的存根中,恢复功能非常容易。
_.remove(myArray, {
state.name: 'object #1'
});
我希望用Jest做同样的事情。我得到的最接近的是这个丑陋的代码:
const stub = sinon.stub(fs,"writeFile",()=>{})
...
fs.writeFile.restore()
答案 0 :(得分:19)
最后,由于@ nbkhope的贡献,我找到了一个可行的解决方案。
因此,以下代码按预期工作,即它嘲笑代码然后恢复原始行为:
const spy = jest.spyOn(
fs,
'writeFile'
).mockImplementation((filePath,data) => {
...
})
...
spy.mockRestore()
答案 1 :(得分:12)
如果您想要clear all the calls模拟功能,可以使用:
const myMock = jest.fn();
// ...
myMock.mockClear();
要存储在模拟中的clear everything,请尝试改为:
myMock.mockReset();