Sinonのスタブでは、機能の復元が非常に簡単です。
const stub = sinon.stub(fs,"writeFile",()=>{})
...
fs.writeFile.restore()
Jestでも同じことをしたいと思っています。最も近いのはこのthisいコードです:
const fsWriteFileHolder = fs.writeFile
fs.writeFile = jest.fn()
...
fs.writeFile = fsWriteFileHolder
モック関数に対して すべての呼び出しをクリア にしたい場合は、以下を使用できます。
const myMock = jest.fn();
// ...
myMock.mockClear();
すべてをクリア モックに保存するには、代わりに試してください:
myMock.mockReset();
最後に、@ nbkhopeの貢献のおかげで実行可能なソリューションを見つけました。
したがって、次のコードは期待どおりに機能します。つまり、コードをモックしてから元の動作を復元します。
const spy = jest.spyOn(
fs,
'writeFile'
).mockImplementation((filePath,data) => {
...
})
...
spy.mockRestore()