Sto testando un codice Ruby e ho un Test :: Unit :: TestCase in errore. Sfortunatamente, il rapporto di errore mi dà solo l'errore più alto, non una traccia dello stack completo. In particolare, si dice:Come ottenere la traccia dello stack da un Test :: Unit :: TestCase
1) Failure:
test_tp_make(TestScripts::TestTpMake) [test/test_scripts.rb:73]:
Exception raised:
<#<NoMethodError: undefined method `[]' for nil:NilClass>>.
Il numero di riga di riferimento (73) è l'inizio di un blocco di codice assert_nothing_raised nel mio banco di prova, che a sua volta avvia un altro blocco di codice, che a sua volta chiama ad una grande biblioteca.
Ho provato a eseguire il test con il flag --verbose, sfortunatamente questo non modifica l'output dell'eccezione. Ho provato a consultare la documentazione di Test :: Unit, ma non sembra enumerare le opzioni disponibili (ad esempio, non c'è nulla di utile here). La ricerca sul Web e StackOverflow hanno presentato alcune risposte su come abilitare la traccia dello stack in Rails, ma questo è il codice ruby non Rails.
È possibile estrarre il codice in errore dal test ed eseguirlo all'esterno di Test :: Unit, consentendomi di vedere tutto l'output. Ma sarà doloroso farlo ogni volta che avrò un test fallimentare.
Qualcuno sa come ottenere Test :: Unit per darmi una traccia stack completa?
Stai eseguendo il test con 'rake'? – Casper
No, non è in esecuzione rake. –
Era presente in Ruby 1.8, Ruby 1.9 o entrambi? –