jac*_*son 32 cypress react-testing-library
因此,react-testing-library用于单元/集成测试,并cypress用于 e2e 测试。但是,两者似乎都在做同样的事情:
react-testing-library
cypress
除了反馈周期外,它们似乎几乎相同。有人可以澄清有什么区别吗?为什么要同时使用两者?
小智 8
您已经在第一行回答了您的问题。如果您想端到端地测试您的 React 应用程序、连接到 API 并部署在某个地方,您可以使用 Cypress。
react-testing-library的目标是应用程序的较低级别,确保您的组件按预期工作。使用 Cypress,您的应用程序可能会部署在 CDN 后面的环境中,使用缓存,其数据可能来自 API。在 Cypress 中,您还可以编写端到端的旅程,这是一条通过您的应用程序的快乐路径,一旦您部署,它可能会给您带来额外的信心。
小智 8
这是Kent C. Dodds 的一篇文章来回答您的问题。
我个人的看法是,最具性价比的测试是 Cypress E2E 测试。如果您是测试新手和/或项目刚开始时尤其如此。
随着项目的发展,到了一定程度,通过集成测试添加一些额外的安全网以确保前端工作的某些复杂部分是有意义的。对于这些来说,RTL 是一个更好的工具,运行速度更快,并且您可以使用它获得更细粒度的信息。
最后,很少,当您有一些特定的非平凡逻辑时,例如一些复杂 API 数据的复杂转换,然后将其单元化。
RTL 与 Mock Service Worker 和 Storybook 的配合也非常好。您可能觉得单独使用这些工具都不值得,但是将它们放在一起,哇哦,您拥有了一个令人惊叹的、强大的测试/文档/沙箱系统!
| 归档时间: |
|
| 查看次数: |
5503 次 |
| 最近记录: |