我查看了stackoverflow,可以解决一两个与这个标题相似的问题,但没有一个能回答我的问题。对不起,如果这是重复的。
在统一测试中,有一条指南说“每个测试一个断言”。通过阅读 stackoverflow 和互联网,人们普遍认为这个规则可以放宽一点,但是每个单元测试都应该测试代码的一个方面,或者一个行为。这很有效,因为当测试失败时,您可以立即看到失败的原因并修复它,该测试很可能在未来的其他时间不会再次失败。
这适用于 Rails 单元测试,我也一直在使用它进行功能测试,没有任何问题。但是当涉及到集成测试时,在测试中应该有很多断言有点隐含。除此之外,他们通常会重复在功能测试和单元测试中已经完成一次的测试。
那么,在这两个因素中编写集成测试时,哪些被认为是好的做法:
- 集成测试的长度:如何衡量何时应该将集成测试一分为二?请求数?或更大总是更好
- 集成测试的断言数量:是否应该每次都重复单元测试和功能测试中关于系统当前状态的断言,还是应该只有 5 个左右的断言来测试是否生成了正确的输出?