【发布时间】:2021-02-17 07:07:12
【问题描述】:
我的应用程序设置为在我的 Jest 配置中,我有一个像这样的模块名称映射:
// jest.config.js
moduleNameMapper: {
'utils': '<rootDir>/__mocks__/utilMock.js',
},
如果在这个模拟中,我想通过一些原始实现,理论上我应该能够做到这一点:
// ./__mocks__/utilMock.js
const actualUtils = jest.requireActual('/utils');
module.exports = {
actualUtils.funcA,
actualUtils.funcB,
funcC: jest.fn(),
funcD: jest.fn(),
};
但是,当我实际尝试对此进行测试时,requireActual 并没有将原始实现返回给我,因此我所有的测试都打破了 funcA 和 funcB 不是函数的想法。
这真的可以做到吗,或者utils 模块在通过 Jest 配置全局设置时无论您做什么都会被模拟出来?
【问题讨论】:
-
你的路径正确吗?如果你把它改成
jest.requireActual('../utils'); -
啊,这并没有很好地延续到示例中,但是我对所有导入都使用绝对/完整路径,所以它们绝对是正确的,是的
标签: javascript unit-testing jestjs