Попробовать и используйте отладчик, чтобы отследить проблему, я создал собственный модуль запуска. Мне удалось отследить настройку запуска, и кажется, что он настраивает запрос к тестовому механизму 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);
}
}
Код: Выделить всё
package org.example;
import org.junit.platform.suite.api.SelectClasses;
import org.junit.platform.suite.api.Suite;
@Suite
@SelectClasses({SimpleTest.class})
public class CustomSuite {
}
Код: Выделить всё
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);
}
}
Код: Выделить всё
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
Код: Выделить всё
mvn exec:java -Dexec.mainClass="org.example.CustomTestSuiteLauncher"

Подробнее здесь: https://stackoverflow.com/questions/792 ... suite-test
Мобильная версия