我有一个 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 , 但它们都不起作用:类型与预期不匹配(即使类名相同)。
如何在不删除类型检查的情况下使用模拟类测试组件?
最佳答案
看起来我没有在正确的地方定义模拟类:我在 jest.mock
之外定义它,但它应该在内部定义,如下所示:
jest.mock("./MyClass", () => {
return class {
/* mock methods here */
}
});
此外,返回一个函数而不是一个类将不起作用。 当您知道时,就这么简单...
关于reactjs - React 和 Jest - 使用 PropTypes.instanceOf 测试组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57681669/