2011-01-24 17 views
5

C'è un modo per creare una suite di test metodi, non solo le classi di test?Junit4: esecuzione di una suite di metodi di prova particolari

Mi piacerebbe mettere insieme una suite di test che esegue solo particolari metodi di test da una classe di test. Non vedo un modo per farlo dalla mia conoscenza limitata di junit e dalla ricerca sul web.

+0

Solo un po 'di stupido pensiero: creare una nuova classe e incollare metodi importanti che si desidera eseguire da vari test, è completo falso ma dovrebbe funzionare per voi ... – Xorty

risposta

7

Utilizzare la funzione Categorie in JUnit4.

Esempio: se alcuni metodi sparsi sia in ATest e BTest sono tenuti a eseguire:

//Define Categories 
@RunWith(Categories.class) 
@IncludeCategory(NeedTest.class) 
@SuiteClasses({ ATest.class, BTest.class }) 
class MySuite{ 
... 
} 

Poi nel ATest e BTest, annotare il aspettano metodi come:

@Test 
@Category(NeedTest.class) 
public void test() 

Quando si esegue MySuite , verranno eseguiti solo i metodi annotati con @Category(NeedTest.class). Naturalmente, è possibile creare più categorie di test,

ps: NeedTest.class è solo una classe di marcatori, può essere di qualsiasi classe.

+0

Ci proverò e vedrò se funziona per me. – Aaron

+0

Ciao Shengyuan, se usiamo il nostro runner personalizzato, questa funzione sarà disabilitata per noi, tranne che implementeremo questa funzione sul nostro corridore, giusto? – Tim

+0

Come eseguire effettivamente la classe MySuite? – java123999

Problemi correlati