【发布时间】:2019-03-28 17:33:49
【问题描述】:
我的 React 组件被不同的 HOC(i18next、graphql 等)包裹,不幸的是我无法用酶测试我的 WrappedComponents。
测试 WrappedComponents 的最佳做法是什么?
我不希望导出已包装和未包装的组件版本,我只想为我的应用程序逻辑导出已包装的组件,并能够在已包装的组件中测试未包装的组件。
感谢您阅读我!
【问题讨论】:
-
大多数精心设计的 HOC 都暴露了原始组件,如答案之一所示。这是导出和测试解包组件以防它们不暴露的好习惯。
-
我认为这取决于您如何组织您的 HoC。如果您倾向于只使用一个,即
connect或graphql,那么将包装的组件公开为静态成员可能就足够了。但是,如果您使用像recompose这样的库,它更喜欢组合多个较小的 HoC,那么您最终可能会得到HoC.WrappedComponent.WrappedComponent.WrappedComponent等。在这种情况下,我认为导出“基础”组件也没有问题。
标签: javascript reactjs jestjs enzyme