首页 > 解决方案 > 如何将 toMatchSnapshot 与酶一起使用,因此结果类似于带有 react-testing-library 的 container.firstChil

问题描述

我有一个简单的酶应用程序,我只想渲染 html 节点而不是组件:


const container = mount(<Hello />);

expect(toJson(container)).toMatchSnapshot();

当前结果:

// Jest Snapshot v1

exports[`Hello should render 1`] = `
 <Hello>
   <a />
 </Hello>
`

预期结果:

// Jest Snapshot v1

exports[`Hello should render 1`] = `
 <a />
`

使用 react-testing-library 只是为了获取 container.firstChild 但我不确定如何使用酶来完成相同的操作

标签: reactjsenzyme

解决方案


通常 Enzyme 不应该用于快照测试(根据我的经验),您应该考虑react-test-renderer仅用于检查快照并将酶用于其他类型的测试,例如,查找组件实例或测试基于类的组件的方法。如果您真的想使用 Enzyme 进行快照测试,您可以使用:https ://airbnb.io/enzyme/docs/api/ShallowWrapper/html.html#examples


推荐阅读