如何缩短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”
放在这个配置上面,我看到了,但我仍然得到了超长的回溯。