what unit test stands pom plugin for example does unit-testing maven maven-surefire-plugin

unit testing - unit - Surefire no lanza prueba en src/main/java



maven-surefire-plugin pom (2)

Necesitaba mover algo de src / test / java a src / main / java de acuerdo con esta recomendación de la documentación de maven-jar-plugin => http://maven.apache.org/plugins/maven-jar-plugin/usage.html

Lo hice porque, utilicé clases de prueba (ayudante) en otros proyectos en el alcance de la prueba.

Así que creo my-project-test, moví en clases de prueba y configuré surefire para especificar el directorio de clases de prueba =>

<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <testSourceDirectory>${basedir}/src/main/java/</testSourceDirectory> </configuration> </plugin> </plugins> </build>

Pero cuando lancé la prueba mvn, se ejecutan 0 pruebas =>

Results : Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

El problema es el mismo que este => Maven no encuentra que se ejecuten las pruebas JUnit, pero la solución (configurar el plugin sure sure maven) no funciona para mí.


Dado que las clases de prueba ahora se han colocado en src/main/java , es probable que se estén compilando durante la fase de compilación a target/classes .

Por lo tanto, aunque surefire está configurado para indicar que la ubicación de origen de la prueba es src/main/java , aún buscará clases de prueba en las clases de target/test-classes , ya que esta es la ubicación predeterminada para las clases de prueba.

Podría intentar especificar adecuadamente el parámetro testClassesDirectory y ver si funciona.

Además, creo que puede haber malinterpretado la recomendación en la documentación del plugin maven jar. No creo que sugieran mover fuentes de prueba a src/main/java .


La buena configuración para Maven surefire plugin es =>

<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <testSourceDirectory>${basedir}/src/main/java/</testSourceDirectory> <testClassesDirectory>${project.build.directory}/classes/</testClassesDirectory> </configuration> </plugin> </plugins> </build> Results : Tests run: 20, Failures: 0, Errors: 0, Skipped: 0