【问题标题】:How to mock properly with Jest a React component using render props如何使用渲染道具正确模拟 Jest 一个 React 组件
【发布时间】:2018-04-20 14:47:39
【问题描述】:

我有这个使用render props的组件:

  <Box
    renderBody={() => {
      return (
        <BoxContent>
          <IconContent>
            <CheckIcon fill="#FF3F55" />
          </IconContent>Payment processed successfully
        </BoxContent>
      );
    }}
  />

我想使用jest.mock 进行模拟,因为如果Box 发生任何变化,我不希望快照失败。

jest.mock('components/Common/Box', () => 'Box');

但是,覆盖失败:

我该如何解决这个问题?

【问题讨论】:

  • jest.mock('components/Common/Box', () =&gt; ({renderBody}) =&gt; renderBody());怎么样
  • 您好安德烈亚斯,非常感谢!

标签: javascript reactjs unit-testing jestjs enzyme


【解决方案1】:

你必须像这样模拟它

jest.mock('components/Common/Box', () => ({renderBody}) => renderBody());

这将返回一个函数,该函数将获取渲染道具并返回渲染组件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-26
    • 2019-09-11
    • 1970-01-01
    • 2019-04-01
    • 1970-01-01
    • 2018-02-13
    • 1970-01-01
    • 2020-02-01
    相关资源
    最近更新 更多