Rails集成测试

Oli*_*ves 6 integration-testing cucumber capybara rspec2 ruby-on-rails-3

我正在寻找为已经构建的Rails 3应用程序设置一堆集成测试.该应用程序使用Rails 3和Ruby 1.9.2构建.我已经看到了对Capybara,Cucumber和RSpec 2的推荐,但我不确定每种产品的优点是什么.

我也注意到他们似乎紧密地联系在一起.我见过的帖子似乎总是谈到使用黄瓜的水豚,或者使用黄瓜的Rspec.

每个人的优点/缺点是什么?是否有一些最佳组合?

Dav*_*vid 13

所有这些测试工具都属于测试环境的不同部分.

如果你想设置集成测试,那么你应该使用Cucumber,因为它没有真正的替代品.Cucumber旨在简化行为驱动开发,但即使您没有BDD,它也非常适合集成测试.

水豚的使命是"webrat替代其目的是支持所有浏览器模拟器".因此,要模拟浏览器部分(http请求,DOM操作等),您有两个替代Webrat或Capybara.黄瓜与它们都很好地融合在一起.实际上,它会检测您在系统中安装了哪一个,并且默认使用它.

另一方面是Rspec.Rspec不是集成测试的工具,而是单元测试(使用BDD方法).在http://www.pragprog.com/titles/achbd/the-rspec-book中,它的解释非常清楚.黄瓜处于应用行为的外围,而rspec处于类行为的内圈.rspec的替代方法是经典的Test :: Unit类.

有关更多信息,请参阅