如何缩短RSpec 2中测试失败的回溯?

如何缩短RSpec 2中测试失败的回溯?,rspec,backtrace,Rspec,Backtrace,当我的规格出现错误时,我会收到如下消息: Vendor should reject duplicate names Failure/Error: user_with_duplicate_email.should_not be_valid expected valid? to return false, got true # /home/kevin/.rvm/gems/ruby-1.9.2-p136@rails3tutorial/gems/rspec-expectat

当我的规格出现错误时,我会收到如下消息:

Vendor should reject duplicate names
     Failure/Error: user_with_duplicate_email.should_not be_valid
     expected valid? to return false, got true
     # /home/kevin/.rvm/gems/ruby-1.9.2-p136@rails3tutorial/gems/rspec-expectations-2.3.0/lib/rspec/expectations/fail_with.rb:29:in `fail_with'
     # /home/kevin/.rvm/gems/ruby-1.9.2-p136@rails3tutorial/gems/rspec-expectations-2.3.0/lib/rspec/expectations/handler.rb:44:in `handle_matcher'
     # /home/kevin/.rvm/gems/ruby-1.9.2-p136@rails3tutorial/gems/rspec-expectations-2.3.0/lib/rspec/expectations/extensions/kernel.rb:50:in `should_not'
.
.
about 15 more lines
.
.
     # /home/kevin/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/drb/drb.rb:1592:in `block (2 levels) in main_loop'
     # /home/kevin/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/drb/drb.rb:1588:in `loop'
     # /home/kevin/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/drb/drb.rb:1588:in `block in main_loop'
我正在运行Ruby 1.0.2、rails(3.0.3)和rspec(2.3.0)。M.rspec配置文件仅指定了两个选项:

--drb --颜色


如何关闭扩展跟踪?

spec\u helper.rb
中,您可以使用以下代码段筛选回溯跟踪:

RSpec.configure do|config|
#RSpec自动清除回溯中的内容;
#有时,当尝试调试某些东西(例如gem)时,这会很烦人
#RSpec 3:
#config.backtrace\u排除\u模式=[
#RSpec 2:
config.backtrace\u clean\u模式=[
/\/lib\d*\/ruby\/,,
/bin\/,,
/宝石/,
/spec\/spec\u helper\.rb/,
/lib\/rspec\/(核心|期望|匹配器|模拟)/
]
结束

我将其更新为与Rspec 3.2.3一起使用。在
spec\u helper.rb
put:

RSpec.configure do |config|
  config.backtrace_exclusion_patterns = [
    /\/lib\d*\/ruby\//,
    /bin\//,
    /gems/,
    /spec\/spec_helper\.rb/,
    /lib\/rspec\/(core|expectations|matchers|mocks)/
  ]
end

这是纯金的。谢谢luacassus!

为什么这对我不起作用?我知道代码加载,因为我使用了
将“HERE”
放在这个配置上面,我看到了,但我仍然得到了超长的回溯。