如何使用 fs.readFileSync 为函数编写 Jest 单元测试
How to write Jest Unit Test for function with fs.readFileSync
所以我在AuthService.js
中有这个功能
AuthService.js
我写了这些测试来测试这个功能
AuthService.test.js
前 2 个测试成功运行,但第 3 个失败并显示此错误。
无法登录,请检查您的凭据!
60 | };
61 | }
> 62 | throw new Error('Unable to login, please check your crediential!');
| ^
63 | }
64 |
65 | async verifyStaff(payload) {
你需要模拟 fs.readFileSync
以便在你的测试中你可以告诉模拟 return 预期的结果(你可能不希望你的单元测试实际与你的文件系统对话).
你可以用开玩笑的 mock
函数来做到这一点:
jest.mock('fs');
那么像 readFileSync
这样的导入函数将是一个 jest.Mock
支持 readFileSync.mockReturnValue("a test file");
:
所以我在AuthService.js
中有这个功能AuthService.js
我写了这些测试来测试这个功能
AuthService.test.js
前 2 个测试成功运行,但第 3 个失败并显示此错误。
无法登录,请检查您的凭据!
60 | };
61 | }
> 62 | throw new Error('Unable to login, please check your crediential!');
| ^
63 | }
64 |
65 | async verifyStaff(payload) {
你需要模拟 fs.readFileSync
以便在你的测试中你可以告诉模拟 return 预期的结果(你可能不希望你的单元测试实际与你的文件系统对话).
你可以用开玩笑的 mock
函数来做到这一点:
jest.mock('fs');
那么像 readFileSync
这样的导入函数将是一个 jest.Mock
支持 readFileSync.mockReturnValue("a test file");
: