在另一个文件中,我是这样导入的,但是当我在测试中使用时,我得到了错误React.createElement: type is invalid --需要一个字符串(对于内置组件)或一个类/函数(对于复合组件),但got: undefined。您可能忘记了从定义组件的文件中导出组件,或者您可能混淆了默认导入和命名导入。可以是什么?
import { RateComponent, mapStateToProps } from '../components/Rate';
it ('renders correctly if has data', () => {
const tree = shallow( <RateComponent dispatch={jest.fn()}/>);
expect(tree).toMatchSnapshot();
});这就是我导出的方式。
export
{
RateComponent,
mapStateToProps
}
export default connect(mapStateToProps)(RateComponent);发布于 2019-07-18 16:13:36
尝试导入默认导出,看看是否有效
import RateComponent from '../components/Rate';此外,您也不需要导出mapStateToProps。
发布于 2019-07-18 18:09:07
只需从文件中导入RateComponent即可,这一点已经清楚地说明过了。并将一些道具传递给RateComponent进行测试,以浅层呈现组件并匹配快照
it ('renders correctly if has data', () => {
const props = {
// ...Define your props here with some values
};
const tree = shallow( <RateComponent {...props}/>);
expect(tree).toMatchSnapshot();
});https://stackoverflow.com/questions/57089873
复制相似问题