2012-04-23 10 views
7

Podczas uruchamiania serwera rails w środowisku testowym (rails s -e test), coś jest ratowanie wyjątków i wyjść "Nieoczekiwany błąd podczas przetwarzania żądania: ... błąd tutaj ...". Dostaję backtrace w trybie programowania.Jak uzyskać pełne śledzenie stosu zamiast "nieoczekiwanego błędu podczas przetwarzania żądania" w środowisku testowym Rails?

Kto to jest i jak mogę to wyłączyć? Potrzebuję pełnego śledzenia wstecznego, a nie tylko błędu, który został podniesiony!

Używam Rails 3.2.3, Ruby 1.9.3, rspec, Kapibara, Kapibara-WebKit

+0

Odkomentowałeś wiersz w 'config/initializers/backtrace_silencers.rb'? (Wysłano jako komentarz, ponieważ nie utworzyłem jeszcze wersji 3.2). –

+0

Nie, ale próbowałem odkomentować remove_silencers! i bez zmian. –

+0

Czy masz 'config.consider_all_requests_local = true' w swoim' test.rb'? –

Odpowiedz

3

Ustawianie config.action_dispatch.show_exceptions = true w test.rb wystarczyły dla mnie.

3

Czytaj env.rb stworzony przez Ogórek:

# By default, any exception happening in your Rails application will bubble up 
# to Cucumber so that your scenario will fail. This is a different from how 
# your application behaves in the production environment, where an error page will 
# be rendered instead. 
... 
# 1) Tag your scenario (or feature) with @allow-rescue 
# 2) Set the value below to true. Beware that doing this globally is not 
# recommended as it will mask a lot of errors for you! 

Podsumowanie:

@allow-rescue 
Feature: blah blah blah 

zrobi sztuczkę.

+0

Dzięki za wskaźnik, ale nie używam Ogórka. –

+0

hehe Czytam źle. – juanpastas

Powiązane problemy