La plataforma JUnit 5 Suite no pudo descubrir pruebas.
Tengo un proyecto de POC simple para verificar la funcionalidad del conjunto de pruebas utilizando Junit 5.
Mi pom.xml es:
<build>
<plugins>
<plugin>
<groupid>org.apache.maven.plugins</groupid>
<artifactid>maven-surefire-plugin</artifactid>
<version>3.0.0-M5</version>
</plugin>
</plugins>
</build>
TestSuite.java class is
@Suite
@SuiteDisplayName(“Sample Suite”)
@SelectClasses({TestClassOne.class, TestClassTwo.class})
public class TestSuite {
@BeforeAll
public static void initMethod() {
System.out.println(“Initiating tests from Suite”);
}
@AfterAll
public static void tearDown() {
System.out.println(“Completed Testing”);
}
@Test
public void simpleTest() {
System.out.println(“test method in suite”);
}
}
Running the TestSuite either using mvn test
or Run as Junit Test
throws an exception
org.junit.platform.commons.JUnitException: TestEngine with ID ‘junit-platform-suite’ failed to discover tests
at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverEngineRoot(EngineDiscoveryOrchestrator.java:160)
at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverSafely(EngineDiscoveryOrchestrator.java:134)
at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discover(EngineDiscoveryOrchestrator.java:108)
at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discover(EngineDiscoveryOrchestrator.java:80)
at org.junit.platform.launcher.core.DefaultLauncher.discover(DefaultLauncher.java:110)
at org.junit.platform.launcher.core.DefaultLauncher.discover(DefaultLauncher.java:78)
¿Qué hay de malo en mi configuración/código? ¿Alguna ayuda/indicaciones para resolver este problema?
Gracias.
¡Feliz Año Nuevo!
davy.ai
El problema parece estar en el uso de la anotación
@Suite
. En JUnit 5,@Suite
ha sido eliminada y en su lugar podemos utilizar@SelectPackages
o@SelectClasses
para crear un conjunto de pruebas.Para resolver este problema, reemplace
@Suite
con@SelectClasses
y modifique su clase TestSuite.java de la siguiente manera:Esto debería resolver el problema y permitir que la suite de pruebas se ejecute sin ninguna excepción.