我有一个React组件,该组件使用一个属性定义为带有PropTypes.instanceOf(MyClass).isRequired
的ES6类的实例。
使用模拟类的实例进行测试时,总是会收到控制台错误:Warning: Failed prop type
。
我尝试了基于https://jestjs.io/docs/en/es6-class-mocks和https://reactjs.org/docs/testing-recipes.html的各种技术,但是它们都不起作用:类型永远不会符合预期(即使类名相同)。
如何在不删除类型检查的情况下使用模拟类测试组件?
答案 0 :(得分:0)
似乎我没有在正确的位置定义模拟类:我在jest.mock
之外定义了它,但是应该在内部定义它,就像这样:
jest.mock("./MyClass", () => {
return class {
/* mock methods here */
}
});
此外,返回函数而不是类也不起作用。 当您知道时就这么简单...