Data la domanda 'How to run all tests belonging to a certain Category?' and the answer il seguente approccio sarebbe migliore per l'organizzazione del test?La nuova suite di test di rendering JUnit 4.8.1 @Category è quasi obsoleta?
- definiscono suite di test master che contiene tutti i test (ad esempio utilizzando ClasspathSuite)
- progettazione sufficiente serie di categorie JUnit (sufficienti significa che ogni collezione desiderabile di test è identificabile da una o più categorie)
- qualificarsi ogni test con relativa categoria (ies)
- define mirati suite di test basati su suite di test di master e insieme di categorie
Esempio:
- identificare le categorie di velocità (lento, veloce), le dipendenze (finto, di database, integrazione, ecc), la funzione (riempimento in categorie applicabili), dominio (riempimento in categorie applicabili), ecc
- richiede che ciascun test sia adeguatamente qualificato (taggato) con le relative serie di categorie.
- creare suite di test master utilizzando ClasspathSuite (tutti i test trovati nel classpath)
- creare suite di destinazione per suite di test master qualificante con categorie, ad es. suite di test di simulazione, suite di test di database veloce, lento integrazione per la suite di test dominio X, ecc
La mia domanda è più simile a sollecitare tasso di approvazione per tale approccio vs. classico approccio suite di test. Un vantaggio imbattibile è che ogni nuovo test è immediatamente contenuto da suite pertinenti senza manutenzione della suite. Uno riguarda è la categorizzazione corretta di ogni test.
aggiunto post di blog: http://novyden.blogspot.com/2011/06/using-junit-4-categories-to-replace.html – topchef
Direi ** sì **. Ma poi non ho mai veramente capito le tradizionali suite JUnit. :) Tale seccatura che mantiene le informazioni sulle categorie in un luogo separato! Se non fosse stato per le nuove @Categories & ClasspathSuite, preferirei comunque semplici [naming patterns] (http://stackoverflow.com/questions/6202579/can-ant-categorise-junit-tests-based-on- eredità-gerarchia/6280134 # 6280134). +1 per sollevare una buona domanda. – Jonik
@Jonik - grazie. L'approccio al naming pattern è decisamente un trucco rispetto ai test. E come tale non è molto flessibile in quanto non consente di combinare i test in suite diverse in base a più categorie. Mi piace anche pensare al nome del test che riflette il suo scopo, non le sue proprietà. – topchef