我一直在一个小项目中使用 Jest,并且在使用 Jest 模拟时遇到了麻烦。我有一个导出命名自定义错误构造函数的实用程序文件。我需要在我的测试文件中模拟这些函数。我不想使用 Jest 文档中显示的手动模拟技术(即,将模拟文件放入 中__mocks__
),而是我想在测试文件中定义模拟。我在我的测试文件中尝试这样的事情:
const errorMock = () => {
return {
configNotFoundError: jest.fn(() => new Error()),
invalidJSONError: () => jest.fn(() => new Error()),
}
};
jest.mock('./error', errorMock);
const { configNotFoundError, invalidJSONError } = require('./error');
但我收到以下错误:
babel-plugin-jest-hoist: The second argument of `jest.mock`
must be an inline function.
有人可以帮我理解我做错了什么吗?