Voglio testare un codice che si basa su una trasmissione di rete. Il codice effettua una richiesta e fornisce una richiamata - al termine della richiesta, viene attivata la richiamata. Mi piacerebbe prendere in giro la trasmissione di rete e usare Thread.sleep
per simulare un po 'di latenza ... ma ovviamente questo farà sì che l'intero test venga messo in pausa.Test del codice asincrono con JUnit
Finora ho eseguito nuovi thread e utilizzando CountDownLatch
es durante il test per interrompere il test prima che venga attivato il callback. Il mio oggetto di rete fittizio crea un nuovo thread, dorme su quel thread e quindi fa il callback. In realtà funziona piuttosto bene, ma il problema è che gli errori di asserzione nel callback non sono riportati al thread junit originale, ma sto ricevendo il testo di eccezioni sulla console, dove è molto più difficile da capire e da usare.
che sto sperando c'è uno:
- Un modo per tubo
assertEquals
uscita dai filetti generati nella principale collettore di uscita JUnit, o - Un modo completamente diverso e migliore per testare codice filettato JUnit, o
- qualche modo per simulare codice asincrono in un singolo thread
Grazie per tutte le idee!
perché non controllare QUnit: http://docs.jquery.com/QUnit –