Тесты JUnit5 не обнаруживаются с помощью теста @SuiteJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Тесты JUnit5 не обнаруживаются с помощью теста @Suite

Сообщение Anonymous »

Недавно я пытался сгруппировать свои тесты по классам, используя аннотацию тестирования @Suite, но когда я пытаюсь запустить эти тесты, они терпят неудачу с сообщением «Тесты не найдены».
Попробовать и используйте отладчик, чтобы отследить проблему, я создал собственный модуль запуска. Мне удалось отследить настройку запуска, и кажется, что он настраивает запрос к тестовому механизму jUnit для каждого теста, но затем не выполняет их.
Если я запускаю тестовые классы по отдельности они успешно запускаются с использованием Intellij в редакторе, maven в процессе сборки и maven с помощью строковых команд.
Чтобы попытаться решить эту проблему, я создал простой проект, создав три класса: класс SimpleTest, класс CustomSuite и CustomTestSuiteLauncher. Я перечислил эти файлы вместе с pom ниже.
SimpleTest.class

Код: Выделить всё

package org.example;

import org.junit.jupiter.api.Test;
import org.junit.platform.suite.api.Suite;

import static org.junit.jupiter.api.Assertions.assertTrue;

class SimpleTest {
@Test
void simpleTestMethod() {
System.out.println("SimpleTest is running");
assertTrue(true);
}
}
CustomSuite.class

Код: Выделить всё

package org.example;

import org.junit.platform.suite.api.SelectClasses;
import org.junit.platform.suite.api.Suite;

@Suite
@SelectClasses({SimpleTest.class})
public class CustomSuite {
}
CustomTestSuiteLauncher

Код: Выделить всё

package org.example;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.junit.platform.launcher.Launcher;
import org.junit.platform.launcher.LauncherDiscoveryRequest;
import org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder;
import org.junit.platform.launcher.core.LauncherFactory;
import org.junit.platform.engine.discovery.DiscoverySelectors;

public class CustomTestSuiteLauncher {
private static final Logger LOG = LogManager.getLogger(CustomTestSuiteLauncher.class);
public static void main(String[] args) {
LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request()
.selectors(
DiscoverySelectors.selectClass(SimpleTest.class)
).build();
LOG.info(request.toString());
Launcher launcher = LauncherFactory.create();

launcher.execute(request);
}
}

pom.xml

Код: Выделить всё

    
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0

org.example
TestSuite
1.0-SNAPSHOT


22
22
UTF-8





org.junit
junit-bom
5.11.3
pom
import





org.apache.logging.log4j
log4j-api
2.17.2


org.apache.logging.log4j
log4j-core
2.17.2



org.junit.jupiter
junit-jupiter
test


org.junit.platform
junit-platform-launcher
test


org.junit.platform
junit-platform-suite-api
test


org.junit.platform
junit-platform-commons
test


org.junit.platform
junit-platform-engine
test







org.apache.maven.plugins
maven-surefire-plugin
3.5.2

--enable-preview
false

**/*Test.java
**/*SuiteTest.java
**/CustomTestSuite.java


**/JFXPixel**.java
**/JFXPoint**.java






Обновление
Мне удалось запустить CustomSuite с помощью Maven, изменив аргумент -DTest на -Dinclude=CustomSuite для пример команды запуска для запуска этого теста:

Код: Выделить всё

mvn test -Dinclude=CustomSuite
И смог запустить тест с помощью CustomTestSuiteLauncher. Команда запуска:

Код: Выделить всё

mvn exec:java -Dexec.mainClass="org.example.CustomTestSuiteLauncher"
Однако я не могу запустить тест из Intellij IDE, щелкнув значок запуска теста рядом с именем класса, как показано на следующем снимке экрана.
Изображение


Подробнее здесь: https://stackoverflow.com/questions/792 ... suite-test
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»