¿Cómo utilizar el complemento Maven Surefire con diferentes grupos para pruebas y pruebas de integración?

StackOverflow https://stackoverflow.com/questions/412717

Pregunta

Quiero usar prueba con el Complemento seguro de experto.La idea es etiquetar algunas pruebas con un grupo. integrationTest y ejecute el complemento dos veces:por gol test excluyendo el grupo integrationTest y por gol integration-test incluyendo el grupo integrationTest solo.

Encontré algunos material para ejecutar el complemento para ambos objetivos y funciona, pero el grupo para la segunda ejecución no funciona (no se ejecuta ninguna prueba).

Aquí está la configuración del complemento en el elemento de compilación de mi pom.xml:

  <plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
      <excludedGroups>integrationTest</excludedGroups>
      <reportFormat>brief</reportFormat>
      <trimStackTrace>true</trimStackTrace>
      <useFile>false</useFile>
    </configuration>
    <executions>
      <execution>
        <id>integration-test</id>
        <phase>integration-test</phase>
        <goals>
          <goal>test</goal>
        </goals>
        <configuration>
          <groups>integrationTest</groups>
          <excludedGroups/>
          <reportsDirectory>${project.build.directory}/surefire-reports/integration</reportsDirectory>
        </configuration>
      </execution>
    </executions>
  </plugin>

¿Alguna idea? mvn integration-test ejecuta todas las pruebas unitarias como se esperaba (excluyendo el grupo integrationTest) pero la segunda ejecución de prueba simplemente escribe:

Ejecución de TestSuite
Se ejecutan pruebas:0, fallas:0, errores:0, omitido:0, Tiempo transcurrido:0,562 segundos

El resultado de mvn test es como se esperaba, las pruebas se ejecutan y agrupan integrationTest es ignorado.

¿Fue útil?

Solución

Lo tengo - ¡implementación de configuración irritante!

<excludedGroups/> no anula <excludedGroups>integrationTest</excludedGroups>. En su lugar, debe especificar cualquier grupo (desconocido), <excludedGroups>none</excludedGroups> por ejemplo.

Otros consejos

El Complemento Failsafe es la mejor manera de hacerlo (puede no haber estado disponible cuando publicó esta pregunta). Agrega una fase de prueba de integración al ciclo de vida de la construcción. Le permite ejecutar actividades de configuración y desmontaje antes y después de las pruebas, lo cual es útil para administrar un contenedor incorporado, por ejemplo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top