RSpec详细错误消息
问题描述:
当我运行任何失败的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
答
最好找出错误来自哪里并修复泄漏规格而不是忽略错误。
如果你不感兴趣,这样做是为了某种原因,那么你可以随时使用: 您可以使用一个简单的技巧,如果你真的想:
rspec 2>/dev/null
答
得到了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
我想修复错误,但错误信息是不可理解的。看起来他们只是列出了一堆没有指示的路径。有任何解决这个问题的方法吗? – 2014-10-19 03:58:32
没有太多上下文很难。但是尝试隔离失败的测试,只运行你感兴趣的期望,而不是整个测试套件。尝试了解您是否需要正确的文件依赖关系,然后再次打开警告。如果您仍然卡住,请尝试发布文件的要点。 – Barbared 2014-10-19 10:27:58