【问题标题】:React snapshot testing - react-test-renderer vs. react-testing-libraryReact 快照测试 - react-test-renderer vs. react-testing-library
【发布时间】:2021-05-27 11:21:19
【问题描述】:

我正在尝试在我的 React 应用程序中进行快照测试。我已经在使用 react-testing-library 进行一般的单元测试。但是对于快照测试,我在网上看到了不同的方法,使用 react-test-renderer 或 react-testing 库。这里有3个例子,它们之间有什么区别和首选?

1.使用 react-test-renderer

test('renders correctly', () => {
  const tree = renderer
    .create(<Link page="http://www.facebook.com">Facebook</Link>)
    .toJSON();
  expect(tree).toMatchSnapshot();
});

2。使用 react-testing-library 和 asFragment()

test('renders correctly', () => {
  const { asFragment } = render(<NotFound />);
  expect(asFragment()).toMatchSnapshot();
});

3.使用 react-testing-library 和容器

test('renders the component', () => {
  const container = render(<Component />)
  expect(container.firstChild).toMatchSnapshot()
})

【问题讨论】:

    标签: react-testing-library react-test-renderer


    【解决方案1】:

    经过大量实验,我选择了选项 2(带有 asFragment() 的 react-testing-library),因为它可以生成更清晰的快照。选项 1 (react-test-renderer) 生成的输出包含组件属性和其他不相关的详细信息。

    【讨论】:

      猜你喜欢
      • 2020-02-27
      • 2019-05-21
      • 1970-01-01
      • 2021-04-26
      • 2017-04-12
      • 2019-08-29
      • 2019-11-11
      • 1970-01-01
      相关资源
      最近更新 更多