首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试使用recompose合成的多个HOC

测试使用recompose合成的多个HOC
EN

Stack Overflow用户
提问于 2019-04-16 15:44:08
回答 1查看 153关注 0票数 0

我有一个设置,其中我有一个主容器,它是使用recompose由多个HOC组成的。

正在使用的HOC是;

WithPageWrapper、WithLoading、WithError

如下所示:

代码语言:javascript
复制
compose(
    withPageWrapper,
    withLoading,
    withError
)(MainContainer)

测试这个逻辑被证明是困难的。我正在做的项目是使用react-test-renderer,并使用浅层渲染方法。

因此,当测试快照以确保错误状态正在加载时,快照仅测试一级深(由于浅渲染),并始终返回:

代码语言:javascript
复制
<PageWrapper>
    <LoadingContainer>
    </LoadingContainer>
</PageWrapper>

相反,我希望在快照中看到的是:

代码语言:javascript
复制
<PageWrapper>
    <ErrorContainer>
    </ErrorContainer>
</PageWrapper>

正如我所期望的那样,当加载属性为null或false时,加载HOC会简单地呈现主容器。

执行完全渲染而不是浅层渲染只会使快照几乎不可读。有没有办法在react- test -renderer中使用浅层渲染,并测试多个HOC的组成?

EN

回答 1

Stack Overflow用户

发布于 2019-04-16 16:01:19

使用中的所有临时函数都可以用一些基本实现来模拟,比如

代码语言:javascript
复制
jest.fn().mockImplementation(Comp => props => (
  <div data-testid="FooHOC"><Comp ...props/></div>
));

这允许在快照中有效地断言结果。

可以在专门的测试中测试原始HOC函数的效果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55703038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档