Nar*_*esh 14 react-test-renderer react-testing-library
我正在尝试在我的 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();
});
Run Code Online (Sandbox Code Playgroud)
2.使用react-testing-library和asFragment()
test('renders correctly', () => {
const { asFragment } = render(<NotFound />);
expect(asFragment()).toMatchSnapshot();
});
Run Code Online (Sandbox Code Playgroud)
3.使用react-testing-library和容器
test('renders the component', () => {
const container = render(<Component />)
expect(container.firstChild).toMatchSnapshot()
})
Run Code Online (Sandbox Code Playgroud)
Nar*_*esh 13
经过多次实验,我选择了选项 2(使用 asFragment() 的 React-testing-library),因为它会生成更清晰的快照。选项 1 (react-test-renderer) 生成包含组件属性和其他不相关详细信息的输出。
| 归档时间: |
|
| 查看次数: |
3769 次 |
| 最近记录: |