Nasz test trwa trochę dłużej, a zawsze jest ten okres 5-10 minut, w którym wiemy, który test się nie powiódł, ale nie możemy zobaczyć komunikatu o błędzie ani śledzić, dopóki pakiet się nie zakończy. Bardziej efektywne byłoby śledzenie śladów po nich. czy to możliwe?W jaki sposób można uzyskać rspec, aby wydrukować ślady po nieudanej próbie * jako * działające?
8
A
Odpowiedz
10
Masz dwie opcje:
1) zawodzą szybko
# spec/spec_helper.rb
RSpec.configure do |c|
c.fail_fast = true
end
..or używać go z linii poleceń
$ 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
Zasadniczo ta opcja w przypadku błędu zatrzyma zestaw testów i wydrukuje błąd.
2) używać rspec-instafail gem
https://github.com/grosser/rspec-instafail
Ten gem pokaże braku spec od razu i będzie kontynuować działanie widowisko.
5
Używam Fuubar, aby natychmiast otrzymywać komunikaty o błędach i śladach wstecz, podczas gdy pakiet jest kontynuowany, a także uzyskać bardziej miarodajny wskaźnik zaawansowania mojego zestawu testów.
+0
Fuubar również wygląda niesamowicie. Dzięki! –
fail_fast jest blisko, ale powoduje zatrzymanie pozostałych testów po pierwszej awarii. Aby mieć je dalej działające, jest lepiej, więc rspec-instafail działało świetnie! (po krótkim trollu łączącym go ze strażnikiem https://github.com/grosser/rspec-instafail/issues/13) Dziękuję za tonę! Właśnie uratowałeś mi mnóstwo czasu. –