【问题标题】:How can you get rspec to print failed test backtraces *as* it is running?如何让 rspec 在运行时打印失败的测试回溯*?
【发布时间】:2012-12-23 04:46:24
【问题描述】:

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

【问题讨论】:

    标签: rspec rspec2 rspec-rails guard


    【解决方案1】:

    我使用Fuubar 在套件继续运行时立即获取失败消息和回溯,并获得关于我的测试套件进展情况的更有意义的指标。

    【讨论】:

    • Fuubar 看起来也很棒。谢谢!
    【解决方案2】:

    你有两个选择:

    1) 快速失败

    # spec/spec_helper.rb
    RSpec.configure do |c|
      c.fail_fast = true
    end
    

    ..或从命令行使用它

    $ 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
    

    基本上这个错误选项将停止测试套件并打印错误。

    2) 使用 rspec-instafail gem

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

    此 gem 将立即显示失败的规范,并将继续运行规范。

    【讨论】:

    • fail_fast 已关闭,但它会在第一次失败后停止其余测试的运行。让它们继续运行会更好,所以 rspec-instafail 效果很好! (经过一个简短的巨魔将其与 Guard github.com/grosser/rspec-instafail/issues/13 结合起来)非常感谢!你刚刚为我节省了很多时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-14
    • 1970-01-01
    • 2013-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多