2011-04-19 3 views
7

Utilizziamo junit per i test di integrazione. I test vengono eseguiti in Eclipse e Jenkins.Come registrare i risultati dell'esecuzione test di junit su un database

Ora vorrei registrare tutti i risultati di esecuzione di test di junit in un database per una facile segnalazione (voglio registrare la classe di prova/nome del metodo, ambiente, durata e successo). Avevo pensato di analizzare gli xml dei risultati di junit, ma anche il logarlo direttamente in un database mi sembra buono. Sembra invadente ma anche molto elegante.

Normalmente si annota solo un metodo di prova con l'annotazione @Test e voilà, abbiamo il nostro metodo di test junit.

Ciò significa che non abbiamo alcun framework aggiuntivo attorno a junit e voglio mantenerlo in questo modo. Temo che ciò significhi che se voglio implementare questo tipo di registrazione probabilmente dovrò hackerare in junit.

Qualcuno ha fatto e può dare consigli se funziona correttamente? Forse hai un'idea su come/dove posizionare il gancio in junit. O ci sono approcci più facili al mio problema?

Grazie!

modifica: Per chiarire, abbiamo già i risultati del test di unità di prova di singole prove. Puoi farli uscire da eclissi (esporta risultati junit) o ​​da jenkins. L'esecuzione delle nostre suite di test junit in Jenkins ci consente inoltre di tenere traccia dei tassi di fallimento dei test delle suite di test nel tempo. Ti mostra una bella tabella che tiene traccia di quanti test sono passati nel tempo. In ogni build di jenkins puoi vedere quali test sono stati superati, anche rispetto all'ultima esecuzione. Abbiamo bisogno di un po 'di più. Vogliamo essere in grado di analizzare la performance (durata) di alcuni testcases nel tempo, su più esecuzioni, forse anche come si comportano in modo diverso in ambienti diversi. Estrai le tendenze. Fai del data mining.

+0

Vuoi tenere un registro della cronologia dei test delle tue unità. ? La tua domanda non ha alcun senso. Quasi tutti i server CI, tra cui Hudson (Jenkins), pubblicano la funzionalità Junit, che fornisce un ottimo rapporto di prova. –

+0

Ho aggiornato la mia domanda al riguardo. – nemoo

risposta

2

Non sono sicuro che questo sia utile, ma puoi eseguire vari tipi di reindirizzamenti dell'output di JUnit Tests e anche specificare un formato per i rapporti di test, che potresti a sua volta memorizzare in un database per essere in grado di accedere e mantenere nel tempo, per ulteriori analisi o anche scopi statistici.

una guida con una spiegazione su come questo può essere realizzato, suggerendo report HTML, può essere trovato qui: http://www.skill-guru.com/blog/2010/03/26/generating-junit-test-results-as-html-report/

Mi auguro che aiuta.