我正在寻找为已经构建的Rails 3应用程序设置一堆集成测试.
该应用程序使用Rails 3和 Ruby 1.9.2构建.我已经看到了对Capybara,Cucumber和RSpec 2的推荐,但我不确定每种产品的优点是什么.
该应用程序使用Rails 3和 Ruby 1.9.2构建.我已经看到了对Capybara,Cucumber和RSpec 2的推荐,但我不确定每种产品的优点是什么.
我也注意到他们似乎紧密地联系在一起.我见过的帖子似乎总是谈到使用黄瓜的水豚,或者使用黄瓜的Rspec.
每个人的优点/缺点是什么?是否有一些最佳组合?
解决方法
所有这些测试工具都属于测试环境的不同部分.
如果你想设置集成测试,那么你应该使用Cucumber,因为它没有真正的替代品. Cucumber旨在简化行为驱动开发,但即使您没有BDD,它也非常适合集成测试.
Capybara任务声明是“webrat替代方案,旨在支持所有浏览器模拟器”.因此,要模拟浏览器部分(http请求,DOM操作等),您有两个替代Webrat或Capybara.黄瓜与它们都很好地融合在一起.实际上,它会检测您在系统中安装了哪一个,并且默认使用它.
另一方面是Rspec. Rspec不是集成测试的工具,而是单元测试(使用BDD方法).在http://www.pragprog.com/titles/achbd/the-rspec-book中,它的解释非常清楚.黄瓜处于应用行为的外围,而rspec处于类行为的内圈. rspec的替代方法是经典的Test :: Unit类.
有关更多信息,请参阅
> Cucumber
> Capybara
> Webrat
> RSpec
> Test::Unit