Может ли Ant классифицировать тесты JUnit на основе иерархии наследования?

Я работаю с устаревшим проектом, в котором есть:

  • Чистый модуль tests
  • Интеграционные тесты (медленно выполняются; имеют всевозможные неприятные зависимости)

Я ищу самый простой способ запустить оба типа тестов отдельно с помощью Ant.

Интересно, есть ли способ, чтобы Ant автоматически распознавал эти две категории на основе иерархии наследования:

StringUtilsTest extends TestCase  // "pure unit test"

vs

ProductionDBTest extends AbstractTransactionalTesterBase // "integration test"

Существует иерархия абстрактных суперклассов, на которых основаны интеграционные тесты, но все они сводятся к некоторым Классы тестов Spring и, наконец, AbstractSpringContextTests , который расширяет junit.framework.TestCase .

Другими словами, могу ли я выделить в Ant тесты, которые (косвенно) расширяют AbstractSpringContextTests и тесты, которые напрямую расширяют TestCase ? Или мне придется вручную пройти тесты и, например, поместить их в отдельные Категории или TestSuites? (Существует много тестов, поэтому я бы не хотел этого делать.)


Разрешение : Я попробовал (очень многообещающий) подход , но не смог получить он работает (легко). Так что в конце концов я прошел тесты наполовину вручную, аннотируя чистые (это была меньшая группа), используя установку, описанную в , этот вопрос SO , и запускал их с Ant следующим образом . (Обратите внимание, что писать собственный TestRunner не необходимо.)

5
задан Community 23 May 2017 в 12:04
поделиться