jus*_*see 1 ruby bdd ruby-on-rails cucumber capybara
我在一个新的Rails 3项目中为Capybara换了Webrat.我在这里浏览了Tim Riley的精彩帖子(http://openmonkey.com/articles/2010/04/javascript-testing-with-cucumber-capybara),并克隆了他的存储库,执行了示例黄瓜功能,并看到了浏览器窗口打开.所以整个Cucumber,Capybara,Selenium堆栈似乎在这种情况下运行良好.
但是,如果我创建一个新的Rails 3项目,运行设置一个类似的示例项目,并使用@javascript注释一个场景,浏览器窗口不会触发,而Cucumber场景只是失败了,通常Command failed with status (1) event(在失败的情况下)或者未决的步骤,Cucumber通过设计触发CI工具的好处).
除了Capybara提供的@javascript功能外,所有其他功能都可以正常工作.
我错过了一些非常明显的东西吗?BDD新手是否有办法更深入地研究问题(堆栈跟踪只显示Cucumber失败时的标准rake错误).
问题实际上是使用cucumber-rails并且缺少对DatabaseCleaner的依赖:http://github.com/aslakhellesoy/cucumber-rails/issues#issue/36
将@javascript标记添加到黄瓜功能时会出现此问题.默认情况下,黄瓜选项会抑制警告,这些警告会提醒我这个事实.通过更新config/cucumber.yml到:
std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags ~@wip"
运行黄瓜时显示错误: uninitialized constant DatabaseCleaner (NameError)
这种情况下的快速修复是添加gem 'database_cleaner'到项目中Gemfile.
| 归档时间: |
|
| 查看次数: |
2216 次 |
| 最近记录: |