了解测试(BDD) - 我是否可以跳过单元测试重复某些集成测试中已涵盖的内容?

jib*_*iel 2 tdd bdd integration-testing unit-testing

注意:之前有类似的问题(BDD和单元测试),但它没有实际的直接答案.只需链接到这本书.

假设我们测试一个配置文件页面.用户提交他的数据.

  • 验证失败 - 我们通知他,对象未更新.
  • 验证通过 - 他被重定向到包含已提交数据的个人资料页面.对象已更新.凉!

因此,如果我在BDD期间测试过验证是否正常工作,我是否需要使用单元测试进行双重检查?或者我可以跳过它?在这种情况下,正确的做法是什么?为什么?

小智 6

集成测试检查您的部件是否以正确的方式协同工作.

单元测试涵盖了每个部件本身的正确功能.

所以,答案分为两部分:

  1. 不,你不应该跳过它.集成测试在整个页面的上下文中测试了您的验证,包括其所有模块.一个进行验证的模块肯定应该有单元测试来测试它(单独测试,单独测试).
  2. 您永远不会使用集成测试和单元测试来测试相同的内容.在集成测试中,您测试了页面的行为,例如某些输入.在单元测试中,如果您正在测试自包含模块,您甚至可以忽略您在页面中.即使该模块验证了某些数据并做了一些决定.您只对单元测试验证过程和该决定的结果.