Недавно я пытался сгруппировать свои тесты по классам, используя аннотацию тестирования @Suite, но когда я пытаюсь запустить эти тесты, они терпят неудачу с сообщением «Тесты не найдены».
Попробовать и используйте отладчик, чтобы отследить проблему, я создал собственный модуль запуска. Мне удалось отследить настройку запуска, и кажется, что он отправляет запрос к тестовому механизму jUnit, но затем не выполняет его.
Если я запускаю эти тестовые классы по отдельности, они запускаются успешно используя командную строку Intellij и 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
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.apache.maven.plugins
maven-surefire-plugin
3.5.2
--enable-preview
false
**/*Test.java
**/*SuiteTest.java
**/CustomTestSuite.java
**/JFXPixel**.java
**/JFXPoint**.java
Подробнее здесь: https://stackoverflow.com/questions/792 ... suite-test
Тесты JUnit5 не обнаруживаются с помощью теста @Suite ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1732499183
Anonymous
Недавно я пытался сгруппировать свои тесты по классам, используя аннотацию тестирования @Suite, но когда я пытаюсь запустить эти тесты, они терпят неудачу с сообщением «Тесты не найдены».
Попробовать и используйте отладчик, чтобы отследить проблему, я создал собственный модуль запуска. Мне удалось отследить настройку запуска, и кажется, что он отправляет запрос к тестовому механизму jUnit, но затем не выполняет его.
Если я запускаю эти тестовые классы по отдельности, они запускаются успешно используя командную строку Intellij и maven.
Чтобы попытаться решить эту проблему, я создал простой проект, создающий три класса: класс SimpleTest, класс CustomSuite и CustomTestSuiteLauncher. Я перечислил эти файлы вместе с pom ниже.
[b]SimpleTest.class[/b]
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);
}
}
[b]CustomSuite.class[/b]
package org.example;
import org.junit.platform.suite.api.SelectClasses;
import org.junit.platform.suite.api.Suite;
@Suite
@SelectClasses({SimpleTest.class})
public class CustomSuite {
}
[b]CustomTestSuiteLauncher[/b]
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);
}
}
[b]pom.xml[/b]
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.apache.maven.plugins
maven-surefire-plugin
3.5.2
--enable-preview
false
**/*Test.java
**/*SuiteTest.java
**/CustomTestSuite.java
**/JFXPixel**.java
**/JFXPoint**.java
Подробнее здесь: [url]https://stackoverflow.com/questions/79221408/junit5-tests-are-not-discovered-using-suite-test[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия