2014-10-18 146 views
1

当我运行任何失败的RSpec测试时,我收到很多我不太了解的消息。RSpec详细错误消息

举例来说,假设我跑:

expect(true).to be_false 

然后我的控制台获取与信息充斥着#

Failures: 

    1) Some test 
    Failure/Error: expect(true).to be_false 
    expected true to respond to `false?` 

# ./spec/controllers/wing_relationships_controller_spec.rb:43:in `block (3 levels) in <top (required)>' 
# /Users/mac/.rvm/gems/[email protected]/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:241:in `load' 
# /Users/mac/.rvm/gems/[email protected]/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:241:in `block in load' 
# /Users/mac/.rvm/gems/[email protected]/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:232:in `load_dependency' 
# /Users/mac/.rvm/gems/[email protected]/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:241:in `load' 
# /Users/mac/.rvm/gems/[email protected]/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:241:in `load' 
# /Users/mac/.rvm/gems/[email protected]/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:241:in `block in load' 
# /Users/mac/.rvm/gems/[email protected]/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:232:in `load_dependency' 
# /Users/mac/.rvm/gems/[email protected]/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:241:in `load' 
# -e:1:in `<main>' 

错误信息经常变化的开始,而有时则是非常长的。

当我运行很多测试时,很难读取结果。我想摆脱那些。有什么建议么?我已经关闭了RSpec中的--warning

回答

0

最好找出错误来自哪里并修复泄漏规格而不是忽略错误。

如果你不感兴趣,这样做是为了某种原因,那么你可以随时使用: 您可以使用一个简单的技巧,如果你真的想:

rspec 2>/dev/null 
+0

我想修复错误,但错误信息是不可理解的。看起来他们只是列出了一堆没有指示的路径。有任何解决这个问题的方法吗? – 2014-10-19 03:58:32

+0

没有太多上下文很难。但是尝试隔离失败的测试,只运行你感兴趣的期望,而不是整个测试套件。尝试了解您是否需要正确的文件依赖关系,然后再次打开警告。如果您仍然卡住,请尝试发布文件的要点。 – Barbared 2014-10-19 10:27:58

0

得到了https://github.com/rspec/rspec-rails/issues/1237

这个答案从输出中删除宝石,它是一行配置:

RSpec.configure do |config| 
    config.backtrace_exclusion_patterns << %r{/gems/} 
end 

或者,如果您只想过滤掉您的特定宝石回溯:

RSpec.configure do |config| 
    config.filter_gems_from_backtrace "rack", "rack-test", "capybara" 
end 
相关问题