我曾经有过这样的设置:
export class MyClass {
}
export default new MyClass()
然后我会这样做:从'libraries/myclass'导入myclass
现在我把它改成:
export const myclass = new MyClass()
并像这样导入 import { myclass } from 'libraries/myclass'
这似乎在我的代码中有效
然而我所有的 Jest 测试都失败了
我目前在做:
jest.mock('libraries/myclass', () => ({
myclassfunction: jest.fn(),
}))
我试过改成:
jest.mock('./myclass.js', () => (
{
...(jest.requireActual('./myclass.js')),
myclassfunc: () => {}
}
))
但它仍然失败,当我 console.log(myclass)
它以未定义的形式通过时
最佳答案
你可以在你的测试中使用 jest automock 特性,你需要使用工厂来模拟它吗?
import { myclass } from 'libraries/myclass';
jest.mock('libraries/myclass');
// myclass is now a mock
关于javascript - 如何 Jest 模拟命名导入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58520536/