RSpec测试有多彻底?

Shp*_*ord 2 testing rspec ruby-on-rails

我刚刚开始掌握BDD和RSpec,我真正遇到的一件事就是弄清楚我的测试应该有多彻底.

我只是不明白我的测试应该是多么精细,仍然有用但不是双倍的开发时间.

这只是一个偏好问题吗?或者是否有一些应该测试的通用标准?

sam*_*amg 5

这里有几个要考虑的因素.

  1. 对于最重要的功能和最有可能破坏的功能,规格覆盖范围应该最大.
  2. 规格应表达开发者的意图.不要为你或其他人以后可能改变的琐碎事情编写规范.
  3. 测试行为不是实现.您应该能够更改类的内部实现并仍然传递规范.这使重构更容易.
  4. 任何时候你修复错误添加规范,以防止错误回退.

我认为将测试/规格视为安全网很有帮助.如果另一个开发者(或我自己)打破了我花时间去做的事情,我想要一个规范失败.我不希望他们花费大量时间来改变那些并不重要的事情.我也不想禁止他们改进应用程序,因为在编写代码时测试对我来说不重要的东西的规范.