Получить список тестовых классов для выполнения в JUnit 5 - PullRequest
0 голосов
/ 06 февраля 2020

В моем наборе есть тест, который требует, чтобы указанный тип c журнала был в ресурсе OMS Azure. Мой подход заключается в том, чтобы вставить эти журналы в самом начале моего тестового прогона, до того, как будут выполнены какие-либо тесты, и запустить конкретное c тестовое устройство, которое нуждается в них в последний раз. Я делаю это, потому что SLA для OMS ненадежен. Журналы не появляются мгновенно в аналитике журналов, они занимают несколько минут для распространения.

Мой вопрос: возможно ли заглянуть в объект TestPlan, чтобы увидеть список классов, которые нужно запустить? Мне не нужно делать это внедрение журнала OMS, если я не запускаю нужное приспособление (пример: запуск подмножества всего набора, отладка одного теста и т. Д. c ...). Весь набор тестов запускается с помощью команды mvn clean install, и я часто выполняю и отлаживаю отдельные тесты с использованием встроенного средства запуска JUnit5 в intellij

1 Ответ

0 голосов
/ 06 февраля 2020

Запустите платформу JUnit в своей собственной программе, чтобы обнаружить все тестовые классы, которые будет выполнять Jupiter. При этом вы получите ссылку на план тестирования для каждого зарегистрированного механизма тестирования:

LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request()
    .selectors(
        selectPackage("com.example.mytests"),
        selectClass(MyTestClass.class)
    )
    .filters(
        includeClassNamePatterns(".*Tests")
    )
    .build();

Launcher launcher = LauncherFactory.create();

TestPlan testPlan = launcher.discover(request);

// Examine testPlan for Jupiter-based test classes...

Подробнее см. https://junit.org/junit5/docs/current/user-guide/#launcher -api-discovery .

Нет, нет подключаемого модуля Maven, который поддерживает режим dry -run.

...