Spesso, quando un test fallisce, passo un bel po 'cercando di capire cosa ha causato il fallimento. Sarebbe utile se RSpec potesse avviare un debugger di Ruby quando il test fallisce, in modo da poter controllare immediatamente le variabili locali per approfondire la causa.Avvia il debugger ruby se fallisce il test rspec
Il work-around che sto utilizzando in questo momento sembra qualcosa di simile:
# withing some test
debugger unless some_variable.nil?
expect(some_variable).to be_nil
Tuttavia, questo approccio è ingombrante, perché ho attendere per un fallimento del test, quindi aggiungere la riga debugger, fissare il problema e quindi rimuovere la riga del debugger, mentre voglio che funzioni più come gdb
che ha la possibilità di avviare quando si verifica un'eccezione, senza che sia necessario aggiungere il codice base alle istruzioni debugger
.
Modifica: Ho provato Plymouth. Non ha funzionato abbastanza in modo affidabile per me. Anche la storia dello sviluppo sembra indicare che non è una gemma molto ben supportata, quindi preferirei non fare affidamento su di essa.
Aggiornamento: Ho provato pry-rescue
e lo trovo pulito. Tuttavia, io uso molto lo zeus e mi chiedevo se c'era un modo per farlo funzionare con pry-rescue
.
grazie - darò uno scatto. – Vighnesh
C'è un modo per farlo funzionare con 'zeus'? – Vighnesh
Ho appena provato con la nuova versione di zeus e di pry-rescue, non funziona – 23tux