我想在失败的情况后输出页面的屏幕截图。

我正在使用capybara,rspec和launchy-我的gemfile有

group :development, :test do
    gem 'rspec-rails'
    gem 'capybara'
    gem 'launchy'
end

我看过各种建议,其中包括以下代码
After do |scenario|
  save_and_open_page if scenario.failed?
end

因此,我创建了一个spec\support\env.rb文件,并将此代码放入其中(仅此而已,该文件中没有其他内容)。现在当我运行
bundle exec rspec

我懂了
C:/Working/x/spec/support/env.rb:1:in `<top (required)>': undefined method `After' for main:Object (NoMethodError)

如果我注释掉env.rb中的行,则测试将按预期运行。

我想念什么?

谢谢

版本:
  • rails 4
  • rspec 2.14.1
  • capybara 2.1.0
  • Launchy 2.3.0
  • 最佳答案

    尝试将其包装在Rspec.configure块中,例如:

    RSpec.configure do |config|
      config.after { |example_group| save_and_open_page if example_group.example.exception }
    end
    

    关于ruby-on-rails - Capybara失败后的场景输出屏幕截图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19680181/

    10-15 12:59