如何以及分别使用Cucumber和Rspec进行测试?

我正在使用Ruby on Rails 3.2.2,cucumber-rails-1.3.0,rspec-rails-2.8.1和capybara-1.1.2以及Selenium驱动程序。 我想分别使用Cucumber和Rspec来了解如何测试和测试什么 也就是说,我应该用Cucumber处理什么“行为”以及Rspec如何以适当的方式划分测试“关注点”?

例如 ,为了测试视图,我应该使用Cucumber还是RSpec测试页面内容中是否存在CSS id ? 或两者?

使用RSpec通过隔离它们来测试应用程序的各个部分(控制器,模型和视图)。 (使用Mock,Stub和其他为您提供RSpec的工具)

当您在浏览器中看到应用程序时,使用Cucumber测试应用程序的所有部分,例如,如果您需要测试没有黄瓜的应用程序的登录forms,您应该:

1)打开shell并运行rails服务器。

2)转到浏览器并输入登录的URL。

3)填写表格字段。

4)单击“提交”按钮。

您应该自动执行此过程,并使用Cucumber进行类似的过程,其他测试使用Rspec。

它们都可以测试节点属性,但我会仅将Capybara用于请求规范。 最终是个人偏好。 我一起使用rspec和capybara,但是在测试请求/期望时,capybara的语言语法更有意义/语义为rspec。

使用UnitTest和capybara进行测试,因为它更简单快速。 查看此URL以获取更多详细信息。

http://guides.rubyonrails.org/testing.html