reactjs - 如何将 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 但我不确定如何使用酶来完成相同的操作
解决方案
通常 Enzyme 不应该用于快照测试(根据我的经验),您应该考虑react-test-renderer
仅用于检查快照并将酶用于其他类型的测试,例如,查找组件实例或测试基于类的组件的方法。如果您真的想使用 Enzyme 进行快照测试,您可以使用:https ://airbnb.io/enzyme/docs/api/ShallowWrapper/html.html#examples
推荐阅读
- c# - DataTable 到 Html 表在 Gmail 上作为邮件发送
- kotlin - 是否可以使用相同的协程?
- python - 基于时间间隔在熊猫中使用随机基准时间创建组
- canvas - 我们可以使用fabric js改变画布的形状吗
- three.js - 如何使用 fbxtogltf 从 fbx 导出具有透明材料(alpha)的 glb?
- java - Hibernate 2个主键(1是外键)
- java - 运行 liquibase-maven-plugin install 时出错
- bash - 是否可以“同时读取”当前正在写入的文件?(并且会读取整个文件吗?)
- html - 如何将 CSS 网格内的弹性项目与其网格线对齐?
- css - VS code live Sass 编译器不生成 css 文件