2009-03-05 7 views
2

Ich habeWie kann man eine Junit4 Suite mit Groovy erstellen?

@RunWith(Suite.class) 
@Suite.SuiteClasses([ 
    First.class,Second.class 
]) 
public class MySuite{ 

} 

Aber Eclipse mir nicht ein "Run A junit4 Test" geben. Alle einzelnen Testklassen funktionieren gut mit GUnit, dem groovy Unit Test Runner, der in Eclipse eingebaut ist.

Irgendwelche Gedanken?

Antwort

1

@ Suite.SuiteClasses akzeptiert Class [] als Parameter.

können Sie versuchen:

@RunWith(Suite.class) 
@Suite.SuiteClasses([First.class, Second.class] as Class[]) 
public class MySuite { 

} 
+0

Danke aber kein solches Glück. Der "as Class []" - Teil wird nicht korrekt analysiert. Es denkt, dass eine andere Sache an SuiteClasses übergeben wird und der Compiler sagt, dass nur Klassen an SuiteClasses übergeben werden können. –

1

Der einzige Weg, ich eine Java-Klasse mit einer @ Suite.SuiteClasses Annotation wie gewöhnlich zu schaffen dies zu tun war, gefunden. Sie können die .class-Namen der Groovy-Klassen eingeben, die Sie für Tests haben, und es funktioniert gut.

Art von lame, wenn Sie nicht schon einige Java-Code haben, um es so zu tun, aber ich hatte eine Mischung aus Java und Groovy, so war es nicht so ein großes Geschäft.

Die andere Option besteht darin, keine Suites zu verwenden und Namensmuster zu verwenden, um Tests zu finden und auszuführen. Sowohl die Ameise als auch die Maven unterstützen diese Art des Mustervergleichs. Ich finde es viel einfacher als sicherzustellen, dass ich die Suiten auf dem neuesten Stand halte und Eclipse kann einfach alle Tests in einem Paket ausführen, wenn ich das machen möchte.

Danke für die Hilfe.

Verwandte Themen