rspec save_and_open_page确实创建了一个html转储

Mik*_*ons 1 ruby integration-testing rspec ruby-on-rails

我正在尝试使用save_and_open_page来查看rspec测试失败原因的详细信息:

相关测试代码

it { should have_selector('div.alert'); save_and_open_page} 
Run Code Online (Sandbox Code Playgroud)

测试执行并失败,但现在生成输出

相关的Gemfile片段:

group :test do
  gem 'capybara', '1.1.2'
  gem 'factory_girl_rails', '4.1.0'
  gem 'launchy'
end
Run Code Online (Sandbox Code Playgroud)

Launchy安装好了:

$ bundle show launchy
//.rvm/gems/ruby-1.9.3-p286/gems/launchy-2.1.2
Run Code Online (Sandbox Code Playgroud)

相关的config/test.rb片段(我希望save_and_open_page输出到达这里)

Capybara.save_and_open_page_path = 'tmp/test_out'
Run Code Online (Sandbox Code Playgroud)

任何想法为什么输出不显示?

Chr*_*ers 6

尝试save_and_open_page在失败的测试之前进行:

it { save_and_open_page; should have_selector('div.alert') }
Run Code Online (Sandbox Code Playgroud)

否则,一旦运行should have_selector('div.alert'),它将不会继续,save_and_open_page因为测试已经失败.