KotlinTestEngine.discover () не возвращает никаких тестов - PullRequest
0 голосов
/ 12 октября 2018

Моя цель - создать класс, в котором можно найти любые тесты, написанные на котлинтесте.У меня уже есть рабочий код для модульных тестов Java / Scala / Groovy, но я не могу заставить его работать на Kotlintest.

Мой код обнаружения:

LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request().selectors(selectPackage("com.example")).build();
descriptor = new KotlinTestEngine().discover(request, uniqueId);

UniqueId имеет значение "engine":JUnit-пример».Я попытался добавить следующий код, но он тоже не работает.

new DiscoverySelectorResolver().resolveSelectors(discoveryRequest, descriptor);

Дескриптор содержит все классы с тестами, но без тестовых методов.В других случаях достаточно вызвать descriptor.getChildren(), чтобы получить методы тестирования, но с Kotlintest я получаю пустой список.

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

1 Ответ

0 голосов
/ 02 ноября 2018

Причина, по которой ваш код не работает, в том, что KotlinTest не поддерживает селекторы имен пакетов.Это может считаться ошибкой в ​​KotlinTest.

Хотя он действительно поддерживает селекторы classpath, class, directory и uri.

Редактировать:

Начиная с 3.2 KotlinTest теперь поддерживает селекторы пакетовтак что ваш код будет работать.

...