【发布时间】:2020-03-28 11:11:02
【问题描述】:
所以,react-testing-library 用于单元/集成测试,cypress 用于 e2e 测试。但是,两者似乎都在做同样的事情:
react-testing-library
- 便于模拟
- 以用户身份进行测试
- 从顶级组件开始(不是硬性要求,但如果不这样做,您最终会在子组件测试中得到一堆重复的测试用例)
- 即时反馈,快速
cypress
- 便于模拟
- 以用户身份进行测试
- 从顶级组件(页面)开始
- 反馈延迟、速度慢,但提供了额外的工具(视频证明、逐步测试等)
除了反馈周期之外,它们似乎几乎相同。有人可以澄清一下有什么区别吗?为什么要同时使用两者?
【问题讨论】:
-
将近一年之后,您对这个问题有更清楚的了解吗?除非您详细了解这两个库,否则这肯定会令人困惑
-
我已经广泛使用了这两个库,但我仍然没有任何新的见解。在我看来,事情总是如此。主要的区别似乎是反馈循环/工具,不管它是有价值的。选择你最喜欢的?在大多数情况下,我不明白为什么需要同时使用两者(也许使用赛普拉斯进行烟雾测试部署,同时使用 RTL 进行其他测试?)。我仍然在与 RTL 作斗争,因为我在 cmets 中提到的重复测试问题似乎一直在引起人们的注意,除非您将测试限制为“页面级”测试(即使这样也有灰色区域)。
标签: cypress react-testing-library