如何让rspec打印失败的测试回溯**它正在运行?

Bri*_*ong 10 rspec guard rspec2 rspec-rails

我们的测试需要一段时间才能运行,并且总有5-10分钟的时间我们知道哪个测试失败了,但是在套件完成之前我们无法看到失败消息或回溯.在它们发生时看到回溯会更有效.这可能吗?

lua*_*sus 11

您有两种选择:

1)快速失败

# spec/spec_helper.rb
RSpec.configure do |c|
  c.fail_fast = true
end
Run Code Online (Sandbox Code Playgroud)

..或者从命令行使用它

$ bundle exec rspec spec/ --fail-fast
.F

Failures:
  1) Swinger should set the Capybara driver
     Failure/Error: Capybara.current_driver.should_not == :rack_test

Finished in 0.00479 seconds
2 examples, 1 failure
Run Code Online (Sandbox Code Playgroud)

基本上这个错误选项将停止测试套件,它将打印错误.

2)使用rspec-instafail gem

https://github.com/grosser/rspec-instafail

这个宝石将立即显示失败的规格,它将继续运行规格.


Pau*_*nti 6

我使用Fuubar在套件继续时获得即时失败消息和回溯,并获得一个更有意义的指标,表明我的测试套件已经取得了多大进展.