Sal*_*lil 2 ruby bdd rspec ruby-on-rails cucumber
我有一个应用程序,至少有50-55个模型,平均每个15个方法.
是否有可能使用rspec和rcov涵盖所有方法(包括非常复杂的方法)?
我也有以下疑问
Rspec对控制器,帮助器和视图也有用吗?还是黄瓜,shoulda更有用吗?
rspec会帮助我减少冗余吗?如果是的话,怎么样?
rspec对连续需求变更应用程序有用吗?
当然可以通过测试覆盖所有方法,如果你之前开始编写测试,那么通常可以从长远来看导致更精简的应用程序.另一方面,具有100%测试覆盖率并不能确保您的应用程序代码质量更好或者您的团队更高效.它唯一可能确保的是你的应用程序缺陷较少,并且在重构的情况下你不会破坏任何东西,然后是反对用测试覆盖所有方法的论据:
通常情况下,您将重构和维护代码,这通常涉及添加新方法和摆脱其他方法.
我要说对其他对象或视图,控制器,帮助器等调用的所有公共方法进行测试是好的.并测试所有相关的API方法,但是测试每个方法都远非必要.
另一方面,它将取决于您的应用程序本身而不是关于它的抽象对话.
你必须问自己它是否值得,它增加了什么价值等等,如果它有意义,那就去吧.无论你选择纯粹的rspec,还是使用黄瓜,紫菜,水豚等