大家好!我很高兴宣布测试库系列工具的最新更新!与往常一样,我们致力于为您提供最好的工具,让您对发布应用程序充满信心。这就是我们做任何事情的指导原则:
这个指导原则为我们指明了方向,让我们在测试领域取得了很大成就。为了进一步完成我们的使命,我想宣布一些关于测试库世界正在发生的变化。
dom-testing-library v4 发布!
这实际上是一个很小的版本,但我认为仍然值得一提。我们尽量将重大更改降到最低。此版本只有两个重大更改。一个是删除您可能根本没有使用过的已弃用方法,另一个是揭示测试中的潜在错误。因此,您应该能够轻松升级到此版本,几乎不需要任何工作量。
如果您遇到断裂,可能是由于类似以下情况造成的
我们希望这能帮助您更好地捕获错误!
react-testing-library 和 cypress-testing-library 已经更新并发布了自己的主要版本升级,以应对这次升级。其他包装器将根据各自维护者的时间表尽快发布。
GitHub 上的测试库
我们在 GitHub 上创建了一个新组织来管理测试库项目系列。 “测试库” 的最好之处不是代码,而是它背后的理念。因此,我们使用该组织来对所有共享相同理念和通用工具的项目进行分组,因此无论您使用的是 Vue、Cypress 还是 React (Native),您都将拥有一个熟悉且强大的测试工具。
以下是该组织的当前(或即将成为)成员
- dom-testing-library
- react-testing-library
- cypress-testing-library
- vue-testing-library
- native-testing-library (React Native)
- pptr-testing-library (Puppeteer)
- bs-react-testing-library (ReasonReact)
- testcafe-testing-library
- user-event
- jest-dom
- jest-native
很酷的是,为您的 JavaScript 框架构建包装器通常非常简单(正如我在 TestingJavaScript.com 上所展示的那样)。如以下所述,您也可以将这些原则应用于非 DOM 平台!
Open Collective 上的测试库
如果测试库系列工具为您提供了任何价值,我们鼓励您(或您的雇主)为我们新的 Open Collective 贡献力量。
该 Open Collective 筹集的资金将用于以下目的:
- 捐赠给慈善机构和其他公益事业
- 购买测试库相关商品(贴纸、T 恤等)。
- 支付托管/域名等费用。
目前没有计划支付为该项目工作的人员,但我们保留在未来需要时支付的权利。
Twitter 上的测试库
测试库世界在 Twitter 上有很多讨论,因此我们创建了一个 Twitter 帐户,您可以关注它并了解最新动态。
Spectrum 上的测试库
我们一直有一个非常活跃的 react-testing-library Spectrum 社区。我们正在将它迁移到更通用的测试库 Spectrum,以便我们能够在一个地方进行所有关于不同包装器的讨论。我们的 Spectrum 社区拥有 600 多名成员(特别感谢 Giorgio 在那里对人们提供了极大的帮助)。请加入我们!
React Native 上的测试库
我非常高兴地宣布一个针对 React Native 测试领域的超级解决方案。正如我之前提到的,DOM 与原生环境大不相同,真正让测试库变得很棒的不是代码,而是概念。我很高兴地说 Brandon Carroll 已经成功地将这些概念移植到 React Native 的解决方案中,我对此非常满意。如果您正在构建 React Native 应用程序并希望确保它们在您进行更改时仍然可以正常工作,请尝试一下!
学习测试库
测试库原则和工具在内容领域引起了很多关注。我们确实有一个 列出学习资料的页面,每天都会添加更多内容。如果您知道有关测试库系列工具的博客文章、YouTube 视频、课程或其他任何内容,请为该列表贡献力量!
其他令人兴奋的消息
从几个月前开始,React 团队正式推荐 您使用 react-testing-library 来测试您的 React 应用程序。这真是太酷了 :)
在阿姆斯特丹 React 开源奖颁奖典礼上,react-testing-library 荣获对社区最有影响力贡献奖!
react-testing-library 也在 ThoughtWorks 技术雷达 上获得了认可,他们认为该技术“值得探索,目的是了解它将如何影响您的企业”。我们也是这样认为的 :)
特别感谢
每个项目都有许多贡献者,在 该组织 中的大多数项目中,您都会找到一个贡献者表。我们非常感谢大家对这些项目的贡献。我还想特别感谢对测试库系列工具和社区产生特别重大影响的人。
我自己 👋、Alex Krolick、Brandon Carroll、Giorgio、Ernesto García 以及 Daniel Cook。
正如我所说,很多人为社区做出了很大贡献,但这些人脱颖而出,在我看来,他们做出了特别出色的工作。谢谢!
结论
无论您使用什么平台,测试库系列的指导原则都可以应用于该平台的测试。退一步考虑您的测试与软件使用方式的相似程度。如果可以的话,考虑一下哪些轻量级但功能强大的工具可以使其他人能够以这种方式测试其软件,并为此创建一个库!也许它可以加入测试库系列工具!