如何以及分别使用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以获取更多详细信息。
- 在Rspec测试中使用Devise进行身份validation
- 臭名昭着的AbstractController :: ActionNotFound – Devise + Rails
- 在某些RSpec rails请求示例中测试HTTP状态代码,但是对于其他RSPro rails请求示例
- 为什么运行Rspec时会出现未定义的方法’have’错误?
- 关于Ruby Tutorial第9章的RSPEC错误
- 在为ruby运行rspec时如何更改环境变量?
- 用于创建ajax关系的关系控制器-NoMethodError:未定义的方法` _url’
- 未定义的方法`save’使测试在测试结束前失败
- 如何使用RSpec测试Rails 4应用程序并从Railscast#53(修订版)中自定义exception处理?