如何模拟正在导入到包含我正在测试的函数的文件中的函数?
没有把它放在 mocks 文件夹中。
// FileIWantToTest.js
import { externalFunction } from '../../differentFolder';
export const methodIwantToTest = (x) => { externalFunction(x + 1) }
我需要确保 externalFunction
被调用并使用正确的参数调用。
看起来 super 简单,但文档没有介绍如何在不模拟测试中所有文件的模块的情况下执行此操作,方法是将模拟放在 mocks 文件夹中。
最佳答案
解决方案:我需要在任何测试或任何其他函数之外进行我的 jest.mock 调用,因为 jest 需要提升它。同样对于像我这样的命名导出,我还必须使用以下语法:
jest.mock('../../differentFolder', () => ({
__esModule: true,
externalFunction: jest.fn(),
}));
关于javascript - 如何使用 Jest 模拟非默认导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53288067/