React 测试库 - 在模拟命名类组件导入时无法读取未定义的属性"原型"



我得到错误,而测试一个组件与嘲笑的孩子。所以我要测试的组件A有一个组件B作为子组件,而B又有一个组件C作为子组件。我试图模拟C组件。下面是C在其源文件中的样子:

// C.js
export class C extends React.Component {
constructor(props) {
super(props);
autoBind(this);
}
// ... code ...
}

在我的A.test.js,我有以下

jest.mock('<PATH_TO_C.JS>', () => ({
C: jest.fn(() => '')
})

在运行测试时,我得到指向我的自定义渲染的错误:TypeError: Cannot read property 'prototype' of undefined

您应该返回一个模拟JSX元素,而不是一个jest函数,

jest.mock('<PATH_TO_C.JS>', () => ({
C: () => <div>Sample Component Content</div>
})

最新更新