ste*_*ble 2 bdd ruby-on-rails webrat cucumber
目前,我的开发过程如下:
在我看来,根据定义,我的集成测试正在测试我可以创建的每个模型,控制器和视图.实际上,我是否因为不编写单元测试而遗漏了什么?
我实际上非常同情你的观点.我喜欢Cucumber ,我喜欢RSpec - 我使用它们,但并不总是使用相同的代码.例如,我现在很少为Rails控制器编写RSpec示例,而且我几乎从不编写视图规范.我的大多数控制器非常相似,并且不会偏离"库存"控制器模式 - 这已经过Rails自己的单元测试的良好测试.再次验证相同的行为并不会花费很多时间和模拟所有模型的麻烦.由于Cucumber处于集成级别,我可以跳过这种模拟,并获得我正在寻找的基本验证.在大多数情况下,Cucumber中的视图测试处理得更加透明.(然后我应该看到"foo"等等.)
但这并不是说我不在Rails中广泛使用RSpec.我将它用于我的逻辑所在的地方:模型,控制器过滤器和视图助手.我还有几个几乎都是业务逻辑的项目,例如针对复杂第三方接口的库或API适配器.对于那些我经常发现自己使用RSpec并跳过Cucumber的人.
作为一种启发式方法,我建议您在以下任何一个问题都可以回答"是"的时候强烈考虑编写单元测试:
如果以上都不是真的,那么也许你可以通过集成测试来逃避.同样,在很多情况下这是合理的.但如果你以后遇到问题,请准备付出代价 - 而且如果他们需要的话,那个价格应该包括随时编写单元测试.
| 归档时间: |
|
| 查看次数: |
664 次 |
| 最近记录: |