/cleanup-after-each' import {render, fireEvent} from 'react-testing-library' import Counter from '.. 以下是我们的“与实现细节无关”的测试用例: // __tests__/counter.js import React from 'react' import 'react-testing-library 使用 react-testing-library 库的 wait 工具并把测试设置为 async。 react-testing-library 提供一个实验性的 API flushEffects 以方便的实现这一目的。这也是我推荐的选项。 , flushEffects} from 'react-testing-library' import Counter from '..
虽然Enzyme是一个不错的库,但是react-testing-library是测试React组件的更好选择。React团队也推荐使用它。 而react-testing-library是测试任何现代React应用程序的推荐方式。 虽然react-testing-library使根据组件的行为轻松直观地进行测试变得很容易,但有时设置要测试的组件可能会变得复杂。 现在,不再使用react-testing-library提供的默认渲染方法,你可以使用renderConnected函数测试你的组件,并传递你想要的存储部分。
测试库也可以用它来包装它们的 API(例如,react-testing-library 的 render 和 fireEvent 就是这样做的)。 为了减少样板代码,我们建议使用 react-testing-library(https://git.io/react-testing-library),你可以像最终用户使用组件那样对组件进行测试。
(代表库: jest、react-testing-library) e2e 测试: 模拟用户在真实环境上操作行为(包括网络请求、获取数据库数据等)的测试。 相较于 enzyme, react-testing-library 所提供的 api 更加贴近用户的使用行为, 使用其对上述测试用例进行重构: import { render, fireEvent }
测试库也可以使用它包装 API(例如,react-testing-library 的 render 和 fireEvent 工具来执行此操作)。 为了减少样板代码,我们建议使用 react-testing-library,它旨在鼓励编写像最终用户那样使用组件的测试。
以下是 Guppy 使用时的样子: 7. react-testing-library 我一直很喜欢 react-testing-library,因为在编写单元测试时感觉不错。 这是 react-testing-library 解决的一个问题,因为理想情况下,我们只希望我们的用户界面能够正常工作并最终正确显示。
Testing utilities:测试辅助工具 react-dom/test-utils(ReactTestUtils) enzymejs / enzyme testing-library / react-testing-library
7. react-testing-library 我一直很喜欢 react-testing-library (https://url.leanapp.cn/AAWrJhu),因为在编写单元测试时感觉不错 这是 react-testing-library 解决的一个问题,因为理想情况下,我们只希望我们的用户界面能够正常工作并最终正确显示。
Guppy 启动后的的样子 7. react-testing-library react-testing-library 是一个很棒的测试库,编写单元测试时,它会让你感觉很好。
以下是 Guppy 使用时的样子: 7. react-testing-library 我一直很喜欢 react-testing-library,因为在编写单元测试时感觉不错。 这是 react-testing-library 解决的一个问题,因为理想情况下,我们只希望我们的用户界面能够正常工作并最终正确显示。
以下是 Guppy 使用时的样子: 7. react-testing-library 我一直很喜欢 react-testing-library,因为在编写单元测试时感觉不错。 这是 react-testing-library 解决的一个问题,因为理想情况下,我们只希望我们的用户界面能够正常工作并最终正确显示。
7. react-testing-library react-testing-library 是一个很棒的测试库,编写单元测试时,它会让你感觉很好。
react-testing-library image.png 简单而完整的测试实用程序,鼓励良好的测试实践 react-image-file-resizer image.png react-image-file-resizer
更多信息,请访问 https://testing-library.com/docs/react-testing-library/intro (opens new window)。
with React Testing Library[12] References [1] React Testing Library: https://testing-library.com/docs/react-testing-library Enzyme: https://github.com/enzymejs/enzyme [5] React Testing Library: https://testing-library.com/docs/react-testing-library /intro [6] 官方文档在这里: https://testing-library.com/docs/react-testing-library/api#render-options [7] rts-guide-demo
React-Testing-Library[10],React测试库,个人感觉和Enzyme代表了两个不同方向,而RTL更符合直觉。RTL还提供了Hooks的测试库,给力奥。 useRequest: https://github.com/alibaba/hooks [9] GatsbyJS: https://github.com/gatsbyjs/gatsby [10] React-Testing-Library : https://github.com/testing-library/react-testing-library [11] AHooks: https://github.com/alibaba/hooks
于是又将其中很多章节重写了,比如丢弃了pupeeteer改成cypress,采用react-testing-library而不是enzyme等等。另外,结构上也做了重新整理。
js 模块:jest / mocha / tape / ava React 组件:enzyme + jest,另外可以使用 react-testing-library 代替 react-dom/test-utils
图片小结从本篇文章中,我们知道了前端工作中的各个分层以及职责,最重要的是对于代码开发所做的测试以及几款工具软件的推荐,如下所示:单元测试:mocha/chaiComponent 测试:react-testing-library
React 测试库 https://testing-library.com/docs/react-testing-library/intro/ ?