我在用 Jest 同时模拟我的类构造函数和方法时遇到了困难。
我的类看起来像这样,并且在一个存在多个类的文件中:
export class ClassName {
constructor() {
// some code
}
public myMethod() {
// some code
}
}
在我的 Jest 测试文件中,我正在做:
jest.mock('<path_to_my_class>', () => ({
...jest.requireActual('<path_to_my_class>'),
ClassName : {
default: jest.fn( function () {
return {
// some code
}
}),
myMethod: jest.fn(async () => {
return { // some code }
})
},
Class2_Name: {
// Same kind of format
}
}));
在我的测试中,我收到“TypeError: MyClass is not a constructor”错误。
我尝试了很多不同的语法,但我从未设法模拟类构造函数和方法。如果我在模拟中返回一个函数,则类被识别为具有构造函数。但在这种情况下,类方法模拟不再起作用。
谢谢