Eclipse JUnit4: исключить тесты, используя шаблон имени - PullRequest
7 голосов
/ 03 марта 2010

Можно ли указать в конфигурации JUnit Run в Eclipse шаблон имени (скажем, ** /gration / * Test), который следует исключить из тестового прогона при запуске всех тестов проекта?

Глядя на параметры в конфигурации Run / Debug, я предполагаю, что этот вопрос можно было бы сократить до: возможно ли исключить определенные тесты, основанные на параметрах командной строки junit runner.

Я не заинтересован в создании (и поддержке) Test Suites .

Еще одно альтернативное решение (которое пока не заинтересовано в этом) - создать отдельные каталоги, содержащие тестовые файлы:

  • yourProject / тесты
  • yourProject / интеграционные тесты

и выбор этого каталога для запуска всех тестов в нем (или изменение «Запустить все тесты в выбранном проекте, пакете или исходной папке» на вкладке «Тест» в конфигурации «Выполнить»).

Я использую:

  • Затмение 3,5
  • JUnit 4

Любые советы / советы с благодарностью!

1 Ответ

2 голосов
/ 05 марта 2010

Вы можете расширить класс Suite, переопределить

<code>public Suite(Class klass, RunnerBuilder builder) throws InitializationError {
    this(builder, klass, getAnnotatedClasses(klass));
}

но вместо аннотированных классов возвращаются нужные вам классы. Могу поспорить, что есть много способов сделать это, но я бы просканировал папку classpath на наличие классов, нашел все тестовые классы внутри и проигнорировал те, которые вам не нравятся. Class.forName превратит имена в классы.

Вы можете даже сделать аннотацию в стиле jUnit4

<code>@RunWith(IgnoreSuite.class)
@IgnoreTests("integration")
public class NormalTests {
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...