Выполнение нашего теста занимает довольно много времени, и всегда есть 5-10-минутный период, когда мы знаем, какой тест не прошел, но мы не можем увидеть сообщение об ошибке или трассировку, пока пакет не завершит работу. Было бы более эффективно видеть обратные следы по мере их возникновения. Это возможно?
Как вы можете заставить rspec печатать обратные следы неудачных тестов *по мере* его выполнения?
Ответы (2)
У вас есть два варианта:
1) быстро выходит из строя
# spec/spec_helper.rb
RSpec.configure do |c|
c.fail_fast = true
end
..или используйте его из командной строки
$ bundle exec rspec spec/ --fail-fast
.F
Failures:
1) Swinger should set the Capybara driver
Failure/Error: Capybara.current_driver.should_not == :rack_test
Finished in 0.00479 seconds
2 examples, 1 failure
По сути, эта опция при ошибке остановит набор тестов и напечатает ошибку.
2) использовать гем rspec-instafail
https://github.com/grosser/rspec-instafail
Этот драгоценный камень мгновенно покажет ошибочную спецификацию и продолжит работу со спецификациями.
person
luacassus
schedule
09.01.2013
fail_fast близок, но он останавливает выполнение остальных тестов после первого сбоя. Лучше, чтобы они продолжали работать, поэтому rspec-instafail отлично сработал! (после краткого троллинга в сочетании с Guard github.com/grosser/rspec-instafail/issues /13) Огромное спасибо! Вы только что сэкономили мне кучу времени.
- person Brian Armstrong; 18.01.2013
Я использую Fuubar, чтобы получать немедленные сообщения об ошибках и обратные трассировки во время работы пакета, а также получать более значимый индикатор. насколько далеко продвинулся мой набор тестов.
person
Paul Fioravanti
schedule
09.01.2013
Фуубар тоже выглядит довольно круто. Спасибо!
- person Brian Armstrong; 18.01.2013