2009-03-05 4 views
2

У меня естьКак создать Junit4 Suite с Groovy?

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

} 

Но затмение не дают мне "Run As Junit4 Test". Все индивидуальные тестовые классы отлично работают с GUnit, линейным тестовым бегуном, встроенным в eclipse.

Любые мысли?

ответ

1

@ Suite.SuiteClasses принимает в качестве параметра параметр [].

Вы можете попробовать:

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

} 
+0

Спасибо, но нет такой удачи. Часть «как класс []» не анализирует право. Он думает, что еще одна вещь передана SuiteClasses, и компилятор говорит, что только классы могут быть переданы в SuiteClasses. –

1

Единственный способ я нашел, чтобы сделать это создать класс Java с аннотацией @ Suite.SuiteClasses как обычно. Вы можете ввести имена классов классов Groovy, которые у вас есть для тестов, и это работает хорошо.

Тип хромой, если у вас еще нет Java-кода, чтобы сделать это таким образом, но у меня было сочетание Java и Groovy, так что это была не такая большая сделка.

Другой вариант заключается в том, чтобы вообще не использовать Suites и использовать шаблоны имен для поиска и запуска тестов. Оба муравья и maven поддерживают подобный подход. Я нахожу это намного проще, чем убедиться, что я держу аппартаменты в актуальном состоянии, и Eclipse может просто запускать все тесты в пакете, если я хочу это сделать.

Спасибо за помощь.