2014-10-18 4 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>' 

Погрешность сообщения всегда меняются, и иногда они очень долго.

Когда я запускаю множество тестов, становится трудно прочитать результаты. Я бы хотел избавиться от них. Какие-либо предложения? Я уже отключил --warning в RSpec

ответ

0

Лучше узнать, откуда исходят ошибки, и исправить негерметичные спецификации, а не игнорировать ошибки.

Если вы не заинтересованы в делать это по какой-то причине, то вы всегда можете использовать: используется простой трюк, если вы действительно хотите:

rspec 2>/dev/null 
+0

Я хотел бы исправить ошибки, но сообщения об ошибках непонятны. Похоже, они просто перечисляют кучу путей без инструкций. Любой способ исправить это? –

+0

Это тяжело без особого контекста. Но попробуйте изолировать тест, который терпит неудачу, запустите только ожидаемое вам ожидание, а не весь комплект тестов. Попытайтесь понять, требуются ли вам правильные зависимости к вашему файлу и снова включайте предупреждения. Если вы все еще застряли, попробуйте опубликовать суть вашего файла. – Barbared

0

получил этот ответ от https://github.com/rspec/rspec-rails/issues/1237

К удалить камни из вывода, это одна строка конфигурации:

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

Или, если вы хотите только отфильтровать определенные драгоценные камни из вашего backtraces:

RSpec.configure do |config| 
    config.filter_gems_from_backtrace "rack", "rack-test", "capybara" 
end 
Смежные вопросы