使用HOC测试组件通常似乎是一个主要问题(酶#539、酶#1002、重组#407,...)。大多数讨论包括“仅测试 HOC 作为函数,然后不测试用法”的观点,因此对于单元测试,实际组件以命名导出的形式导出并单独测试。然后建议一些解决方法(比如dive
直到到达组件等)。
因此,技术实现对我来说也(相对)清楚,但我现在很难以及最终应该如何以及是否应该使用 HOC 测试该组合物。
例子:
import withState from 'recompose/withState';
export const InnerMyComponent = /* ... */;
const enhance = withState('prop', 'setProp', null);
export const MyComponent = enhance(InnerMyComponent);
对于应用程序来说,正确调用 withState 并将其prop
传递setProp
给内部组件似乎非常重要。我是否应该始终相应地测试这两个道具是否正确传递,例如
expect(shallow(<MyComponent />).dive().prop('setProp')).toBeDefined()
那么,我应该编写这样的测试还是测试应用程序组合的更好方法?