- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
用于 react 测试的 enzyme 、ReactTestUtils和react-testing-library之间有什么区别?
ReactTestUtils 文档说:
ReactTestUtils makes it easy to test React components in the testing framework of your choice.
enzyme 文档只是说:
Enzyme is a JavaScript Testing utility for React that makes it easier to assert, manipulate, and traverse your React Components' output.
React-testing-library 文档:
The react-testing-library is a very light-weight solution for testing React components. It provides light utility functions on top of react-dom.
为什么实际上每种解决方案都更容易,而另一种解决方案却无法实现什么?
最佳答案
ReactTestUtils 为您提供了测试 React 组件的最低限度。我还没有看到它被用于大型应用程序。
Enzyme 和 React-testing-library 都是很好的库,可以为您提供测试应用程序所需的所有工具。但他们有两种不同的理念。
Enzyme 允许您访问组件的内部运作。您可以读取和设置状态,并且可以模拟子级以使测试运行得更快。
另一方面,react-testing-library 不允许您访问实现细节。它呈现组件并提供与它们交互的实用方法。我们的想法是,您应该以与用户相同的方式与应用程序进行通信。因此,您无需设置组件的状态,而是重现用户为达到该状态而执行的操作。
根据我的经验, enzyme 更容易掌握,但从长远来看,它更难维护。 React-testing-library 会迫使您编写平均来说稍微复杂一点的测试,但它会让您对代码更有信心。
关于reactjs - enzyme 、ReactTestUtils 和 React-testing-library 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54152562/
我开始学习 React,在做一些测试时我注意到两条警告消息: Warning: ReactTestUtils has been moved to react-dom/test-utils. Updat
我得到了一些意想不到的 ReactTestUtils 测试结果。这是代码: 来源: var React = require('react'); module.exports = React.creat
在reactjs docs对于模拟: Simulate has a method for every event that React understands. 我对 ReactJS 还很陌生,所以我
例子如下: http://jsfiddle.net/hulufei/twr4thuh/7/ 它只是在虚拟 dom 中绑定(bind) onClick 时起作用(如第 18 行),但是如果我注释掉第 1
我在 React 表单中有一个 HTML5 文件类型输入,类似于以下内容 文件上传后,this.onChange 访问所选文件,验证它们并转换表单。 我试图弄清楚如何使用 ReactTestUtil
下面这段代码是用 typescript 写的,它使用了“react-dom/test-utils”中的 ReactTestUtils。 let nameInput = TestUtilsExtende
用于 react 测试的 enzyme 、ReactTestUtils和react-testing-library之间有什么区别? ReactTestUtils 文档说: ReactTestUtils
尝试使用 Karma+Jasmine 测试 React 组件,我正在尝试检查是否调用了 onClick 处理程序中的所有函数,但测试返回错误结果: `Expected spy reportLoginW
我正在尝试使用 ReactTestUtils 为 React Native 项目设置单元测试但是,我在运行 npm test 时收到此错误: Cannot find module 'react/lib
我正在尝试测试呈现 iframe 并将标记直接注入(inject)该 iframe 的 React 组件。 (我没有尝试在 iframe 中加载 URL。) 该组件实际上在浏览器中工作得很好,但到目前
我在我的测试中渲染了一个组件: component = TestUtils.renderIntoDocument( foo foo foo ); $bodyElem
我有一个 React 项目,正在尝试设置一些测试 由于以下设置指南/问题: https://github.com/facebook/jest/issues/1353 , https://github.
我是一名优秀的程序员,十分优秀!