[英]Mocking execSync in Jest
我如何模擬在 Jest 中執行子進程
const execSync = require('child_process').execSync;
//...
expect(execSync)
.toHaveBeenCalledWith('npm install');
但實際上並沒有讓它在測試期間運行 npm install。
可以執行以下操作:
jest.mock("child_process", () => {
return {
execSync: () => "This is a test message"
};
});
返回值可以是數字、字符串、對象或其他任何內容。 它只允許您覆蓋 execsync 的實際實現。
您可以將lib mock與__mocks__
文件夾一起使用, __mocks__
文件夾將包含將由 jest 自動加載的child_process
文件夾。
只需創建一個文件
// __mocks__/child_process/index.js
module.exports = {
execSync: jest.fn()
};
這將導出child_process
的模擬實現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.