Jan*_*ane 6 rspec ruby-on-rails capybara
我想在失败的场景后输出页面的屏幕截图。
我正在使用 capybara、rspec 和 launchy - 我的 gemfile 有
group :development, :test do
gem 'rspec-rails'
gem 'capybara'
gem 'launchy'
end
Run Code Online (Sandbox Code Playgroud)
我看到了各种建议,其中包括以下代码
After do |scenario|
save_and_open_page if scenario.failed?
end
Run Code Online (Sandbox Code Playgroud)
因此,我创建了一个 spec\support\env.rb 文件,并将此代码放入其中(仅此而已,该文件中没有其他内容)。现在当我跑步时
bundle exec rspec
Run Code Online (Sandbox Code Playgroud)
我明白了
C:/Working/x/spec/support/env.rb:1:in `<top (required)>': undefined method `After' for main:Object (NoMethodError)
Run Code Online (Sandbox Code Playgroud)
如果我注释掉 env.rb 中的行,那么测试将按我的预期运行。
我缺少什么?
谢谢
版本:
小智 5
尝试将其包装在 Rspec.configure 块中,例如:
RSpec.configure do |config|
config.after { |example_group| save_and_open_page if example_group.exception }
end
Run Code Online (Sandbox Code Playgroud)