2012-10-26 3 views
3

Avec annotation, il est facile de mettre en place récursif Suite Junit:Programmatically construire Junit récursive Suite avec junit4

@SuiteClasses({MyTest.class}) 
public class MySuite{} 

puis

@SuiteClasses({MySuite.class}) 
public class MySweetSuite {} 

Lancement MySweetSuite lancera MySuite qui lancera test.

Mais comment faire cela par programme, pour lancer le tout avec JunitCore?
En ce moment, je peux créer la MySuite avec

Class<?>[] tests = { MyTest.class}; 
Suite mySuite = new Suite(myBuilder, tests); 

Comment puis-je faire le mySweetSuite 'parent'?

Répondre

1

Selon le jUnit Documentation le TestSuite implements Test.
Par conséquent, essayez ce qui suit:

Class<?>[] testClasses = { MySweetSuite.class } 
TestSuite suite = new TestSuite(testClasses); 
+0

Vous ne comprenez pas la question, je suis en train de construire un objet Suite d'un autre objet Suite, pas de d'une autre classe –

+1

@ StéphanePiette Et appeler [GroupTest # addTest ] (http://www.junit.org/apidocs/junit/framework/TestSuite.html#addTest (junit.framework.Test) ne fonctionne pas? –

+0

Cela ne fonctionne que pour Junit3, où les tests doivent étendre TestCase et la méthode ont pour commencer avec 'test' –

Questions connexes