基本上我是将function counter(n) {
let i=0;
const res = {};
res.finished = new Promise(resolve => {
res.count = () => {
if (++i == n) resolve();
};
});
return res;
}
导入componentB
在componentA
中,我基本上是在做类似的事情
componentA
但是当我运行const ComponentA = () => {
const ComponentB = blah.map(() => {
})
//more stuff
return(
<div> stuff here </div>
)
}
文件的测试(已经构建)时,它们会显示该错误消息
两个组件均已正确连接到商店:
ComponentA
export default connect(mapStateToProps)(ComponentA)
什么会导致该错误?
我知道在必须以其他方式导入之前。目前,我只是这样导入它:export default connect(mapStateToProps, mapDispatchToProps)(ComponentB)
但是我确实尝试过import componentB from '/components'
,所以只是通过商店来导出组件,但是那样就行不通了,因为它与商店没有连接
有什么想法吗?
答案 0 :(得分:0)
在测试Redux连接的组件时,需要使用伪造的存储或内存中的存储来渲染它们。通常,最佳实践是将未连接的组件渲染为import {component} from '...';
,然后传递组件期望的道具。 redux库已经有测试用例,因此没有必要重复做这项工作。