小编Amr*_*war的帖子

添加 setupFilesAfterEnv 后,模拟函数在 .test 文件中不起作用

在 jest.config.js 中添加setupFilesAfterEnv后,如下所示:

module.exports = {
    preset: 'ts-jest',
    testEnvironment: 'node',

    setupFilesAfterEnv: ["./test/setupAfterEnv.ts"]  
}
Run Code Online (Sandbox Code Playgroud)

模拟函数在文件中不再起作用,.test.ts但在 setupFilesAfterEnv 内写入的文件中起作用,例如./test/setupAfterEnv.ts

模拟函数示例(.test.ts文件和setupAfterEnv.ts同一目录中):

jest.mock("../src/service/sendEmail.ts", () => ({
    send: () => {
        return "MOCK sendEmail sent"
    }
}));
Run Code Online (Sandbox Code Playgroud)
  • 我没有收到任何错误,并且应该模拟的其他函数运行。当我在模拟函数中写入错误的路径时,出现错误can't find module。所以看起来它找到了应该被模拟的函数,但不运行模拟函数而是运行另一个函数

  • 如果我评论了setupFilesAfterEnv配置,jest.config.js 它会再次起作用。

node.js typescript jestjs ts-jest

3
推荐指数
1
解决办法
1039
查看次数

标签 统计

jestjs ×1

node.js ×1

ts-jest ×1

typescript ×1