Utilizzando capibara e selenio per eseguire test di integrazione in rotaie, se viene sollevata un'eccezione viene visualizzata una pagina bianca vuota invece della normale schermata delle eccezioni con la traccia dello stack. C'è un modo per ottenere capibara per mostrare le pagine di traccia dello stack?Ottieni le eccezioni dei rails da mostrare usando capibara e selenio
risposta
Non sono riuscito a ottenere le tracce dello stack da mostrare con Webrick o Thin, ma la mia soluzione alternativa era usare Mongrel, che stampa correttamente le tracce dello stack su stderr.
Con capibara 0.4.1.2 o versione successiva, è possibile configurare capibara di utilizzare bastardo in questo modo:
Capybara.server do |app, port|
require 'rack/handler/mongrel'
Rack::Handler::Mongrel.run(app, :Port => port)
end
questo è più probabile, perché la traccia dello stack è mostrato solo in sviluppo modalità di esecuzione (o 'ambiente'), ed i test di integrazione vengono eseguiti all'interno del produzione ambiente.
Ovviamente, modificando le impostazioni della modalità di produzione, è possibile che venga visualizzata l'eccezione. Ma non sarebbe il modo corretto. Il modo migliore è quello di:
- registro l'eccezione e lo stack trace in un file o in un server di log in cui l'utente non può vedere, ma si possibile
- cattura l'eccezione e render (hoptoad?) una pagina di errore
Spero che questo aiuti. I migliori saluti.
Penso che di solito le persone abbiano i loro test Capybara in esecuzione in: ambiente di test. –
soluzione di Matt non ha funzionato per me, ma proprio questa essenza https://gist.github.com/1443408 fatto.
https://github.com/thoughtbot/capybara-webkit/issues/226 spiega in modo più dettagliato il motivo per cui si verifica e fornisce una spiegazione su ciò che fa Gist.
Questa era la unica soluzione che ha funzionato per me. Grazie per averlo fatto notare o.O – nzifnab
- 1. Come riempire l'editor di tinymce-rails con capibara e selenio?
- 2. Stubing richieste Ajax in cetriolo/capibara/selenio?
- 3. test di selenio, capibara e cetriolo drag and drop testing
- 4. l'esecuzione di test di selenio parallele con capibara
- 5. Ottieni tutte le classi di un elemento in capibara?
- 6. Mostrare e nascondere usando $ rootscope
- 7. Aggiornamento capibara da 1.0.1 a 1.1.4 rende database_cleaner rompere le mie specifiche
- 8. Come verificare le eccezioni generate usando xUnit, SubSpec e FakeItEasy
- 9. Come documentare le eccezioni dei metodi asincroni?
- 10. Utilizzo di Capibara e selenio per passare con il mouse su un elemento
- 11. Rails 3: Ottieni lo spazio dei nomi corrente?
- 12. memoria deallocazione e le eccezioni
- 13. Infissi e selenio e rotaie (oh mio?)
- 14. Ottieni elemento con jquery e selenio IDE 1.0.8
- 15. Ottieni immagini usando l'API imgur in Ruby (su Rails)
- 16. Come mostrare le query SQL eseguite nella console di Rails?
- 17. test javascript sottodominio e Capibara, phantomjs e rotaie
- 18. Test cetriolo/capibara non più eseguito nel progetto Rails 3
- 19. Dove e come gestire le eccezioni Stripe?
- 20. Ottieni richieste HTTP e risposte fatte usando HttpWebRequest/HttpWebResponse per mostrare in Fiddler
- 21. Rails: Elimina la richiesta in capibara, bug o errore mio?
- 22. Come convincere Hudson a mostrare un rapporto completo sul selenio?
- 23. Selenio e: hover css
- 24. Ottieni il colore dei pixel da un'immagine
- 25. Ottieni PID del browser lanciato dal selenio
- 26. Come mostrare tutte le stringhe di traduzione richieste in Rails?
- 27. std :: :: unique_ptr azzerati e le eccezioni costruttore
- 28. PowerShell 2.0 e come gestire le eccezioni?
- 29. Gestione delle eccezioni dei nodi
- 30. Non mostrare Python raise-line nello stack di eccezioni
Grazie Matt! Questo ha fatto il trucco – calstad
Puoi eseguire il patch delle scimmie Thin in spec_helper.rb o env.rb: https://gist.github.com/999621 –
^^ Questa patch è stata ora unita all'ultima versione di Thin –