我正在使用karma-webpack
并且正在重构一个 React 组件以在多个地方使用。我将组件移动到它自己的文件中,因此我可以通过在稍后包含在我的页面中的 HOC 中应用/来导入它并以不同的方式连接它。mapStateToProps
mapDispatchToProps
这是场景:
EventTable
- import
s EventTableComponent,exports connect
ed/wrapped 组件
-s EventTableComponent,exports ed/wrapped 组件
MyEventTable
-定义共享的道具/行为以呈现数据行import
connect
EventTableComponent
当我git mv
对 EventTable 进行EventTableComponent
重构并重构代码以使connected
内容位于 HOC 中时,测试开始无法EventTableComponent
仅karma-webpack
导入. Chrome 运行良好,视图渲染完美。QA 很高兴,或者会很高兴,但是我的构建失败了。
构建失败是因为和组件WrappedComponent
未定义,这导致在概要 ( ) 中抛出消息,但我什至没有将这些文件中的任何一个导入我的测试!相反,它在构建 karma webpack 时失败,但在运行任何测试之前。EventTable
MyEventTable
connect
cannot read displayName of undefined
我通过破坏视图并像这样进行“假”/“替换”来修复本地构建:
function EventTableComponent () {
return (<div>garbage here</div>);
}
构建通过。
所有这一切中最令人困惑的部分?我什至根本不测试 HOC 。我只将 EventTableComponent 导入到测试中,但是karma-webpack
,正如Redux Documentation 中所建议的那样。
我写了一个最小的示例要点来说明: https ://gist.github.com/zedd45/cbc981e385dc33d6920d7fcb55e7a3e0