He peinado de StackOverflow y muchos otros sitios, se han encontrado muchos otros relacionados con puestos y han seguido todos dijo sugerencias, pero al final, a prueba de fallos es faltar a mis pruebas.

Mi prueba de JUnit se encuentra aquí:
myModule/src/main/test/java/ClientAccessIT.java

Estoy saltar infalible porque no hay pruebas de unidad en este módulo:

<!-- POM snippet -->
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
  <skip>true</skip>
  </configuration>
</plugin>

Y estoy tratando de ejecutar las pruebas de integración con a prueba de fallos:

<!-- POM snippet -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <executions>
        <execution>
            <id>run-tests</id>
            <phase>integration-test</phase>
            <goals>
                <goal>integration-test</goal>
                <goal>verify</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Sin embargo, cuando ejecuto mvn verify veo esto:

[INFO] --- maven-failsafe-plugin:2.14.1:integration-test (run-tests) @ rest-services-test ---

-------------------------------------------------------
 T E S T S
-------------------------------------------------------

Results :

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

He pasado los últimos 4 1/2 horas de lavado, cualquier ayuda se agradece. La única otra cosa que vale la pena mencionar es que tengo Carga montando y desmontando un contenedor Tomcat. ¿A nadie a ver el evidente problema?

InformationsquelleAutor danny-v | 2013-05-05

8 Comentarios

  1. 19

    Usted necesita para cambiar el nombre de la clase de prueba.

    Usted puede encontrar los nombres de los plugin busca por defecto en la documentación, como se ha señalado por @acdcjunior:

    De forma predeterminada, el de Seguridad Plugin automáticamente se incluyen todas las clases de prueba con los siguientes caracteres comodín patrones:

    • «**/IT*.java» – incluye todos sus subdirectorios y todos java los nombres de archivo que comienzan con «SE».
    • «**/*IT.java» – incluye todos sus subdirectorios y todos java nombres que terminan con «ÉL».
    • «**/*ITCase.java» – incluye todos sus subdirectorios y todos java nombres que terminan con «ITCase».

  2. 15

    He tenido un problema similar. Si no hay ninguna prueba de las clases compiladas de destino/de prueba-clases, a continuación, comprobar su pom, archivo y asegúrese de que el embalaje no es ‘pom’.

    • Gracias. Ese era el problema para mí. No es tan evidente!
    • ¿Qué es el «embalaje no pom»? Cualquier sugerencia?
    • Busque en su efectiva pom.xml para la etiqueta de «embalaje». Mira este enlace para ver un poco más sobre el embalaje de la etiqueta. maven.apache.org/pom.html. la clave es asegurarse de que el valor de la etiqueta no es «pom».
  3. 12

    Para multi-módulo de proyectos, el hijo proyecto necesita tener el plugin declarado como seguido,

     <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
     </plugin>

    versión hereda de los padres pom. Sin los definidos anteriormente, el plugin en los padres pom solo no funcionará.

    • Esta fue la solución para mí. a prueba de fallos, se definió en el padre->el padre POM.
    • Tuve que definir plugin dentro de los padres de pom (pluginManagement sección) y su uso en el proyecto del pom (sección de plugins)
  4. 12

    Sus pruebas no son por defecto en la prueba de fuentes directorio src/test/java. Ver:

    https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

    myModule/src/main/test/java/ClientAccessIT.java

    debe ser:

    myModule/src/test/java/ClientAccessIT.java

    También puede actualizar su archivo pom (si realmente quería pruebas de vivir en la principal) para incluir:

    <build>
        <testSources>
            <testSource>
                <directory>src/main/test</directory>
            </testSource>
        </testSources>
    </build>
    • Esto debe ser aceptado respuesta. El ejemplo dado claramente no funciona a causa de esto.
  5. 6

    También tuve un problema similar pero necesita el embalaje elemento a ser «pom». Asegúrese de que su prueba de archivos de código fuente se compila y se añade a la …/destino/test-de la carpeta de clases usando maven-compilador-plugin:

           <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven.compiler.version}</version>
                <executions>
                    <execution>
                        <phase>test-compile</phase>
                        <goals>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
    • Extrañamente mi envase era tarro, pero las clases de prueba no fueron compilados. Gracias.
    • Este fue mi problema también, tan pronto como yo incluido compilador plugin de pruebas de integración comenzó a trabajar!
    • Mi envase era también un tarro y que también tengo que hacer esto
  6. 2

    Yo estaba teniendo el mismo problema y probé algunas de las opciones sugeridas aquí. Estoy desarrollando un Resorte de Arranque de la aplicación utilizando JUnit 5. Por desgracia, ninguno de mis pruebas de integración (que se encuentra en src/test/java y con el sufijo *TestIT.java) estaban recibiendo recogido, independientemente de la la publicidad del plugin para hacerlo. Traté de degradar a 2.18.1, 2.19.1 y trató de suprimir los <executions> y <configuration> secciones para intentar usar el plugin por defecto de la funcionalidad, pero no hubo suerte.

    Finalmente he cambiado la versión a la última (en el momento de la escritura) para 2.22.0, y la viola. Aquí está la configuración he añadido a la <build><plugins> sección de mi pom. Y aún mejor, no necesito agregar las ejecuciones que definen la integration-test y verify metas que ver la mayoría de las personas incluyen; a prueba de fallos ejecuta estas por defecto. He incluido mi infalible de configuración del plugin, ya la estoy usando para ejecutar las pruebas unitarias durante el test fase del ciclo de vida de maven.

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.22.0</version><!--$NO-MVN-MAN-VER$-->
    </plugin>
    
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-failsafe-plugin</artifactId>
      <version>2.22.0</version><!--$NO-MVN-MAN-VER$ -->
    </plugin>

    Y para la buena medida, a contar segura y a prueba de fallos el uso de JUnit 5, estoy incluyendo en mi <dependencies> sección:

    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-engine</artifactId>
      <scope>test</scope>
    </dependency>

    Eclipse muestra una advertencia (amarillo onduladas subrayado) bajo la etiqueta de versión, de ahí la inclusión de la <!--$NO-MVN-MAN-VER$ --> de error. Estoy seguro de que hay una mejor manera de lidiar con esto, pero a mí me funciona en este caso.

    Para acelerar las pruebas de esta configuración, y para evitar tener que ir a través de todos de las anteriores fases del ciclo de vida antes de test, integration-test overify fases, he utilizado los siguientes comandos para validar rápidamente:

    • mvn failsafe:integration-test (sólo se ejecuta pruebas de integración)
    • mvn surefire:test (sólo se ejecuta la unidad de pruebas)
    • (Yo obviamente ejecutar la totalidad del ciclo de vida, cuando cuenta)

    Espero que esto ayude a alguien. Saludos!

    • Para mí nada estaba trabajando sin este junit-júpiter-motor de la dependencia agregó que en las pruebas de módulo. Gracias por la sugerencia! Aunque no entiendo todavía cómo es en realidad influido en ella y la hizo funcionar… ¿alguien Puede explicar? Cuando empecé a estas pruebas por surfire-plugin (en defecto de la fase de prueba), luego de la dependencia no era necesaria y que todo funcionaba.
  7. 1

    Para mí fue una falta de ejecuciones sección

                <executions>
                    <execution>
                        <goals>
                            <goal>integration-test</goal>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>

    El failsafe con TestNG documentación en
    https://maven.apache.org/surefire/maven-failsafe-plugin/examples/testng.html
    había mostrado un pom sin ella, y no funcionó.

    <plugins>
        [...]
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>3.0.0-M3</version>
            <configuration>
              <suiteXmlFiles>
                <suiteXmlFile>testng.xml</suiteXmlFile>
              </suiteXmlFiles>
            </configuration>
          </plugin>
        [...]
    </plugins>

    Añadir la falta de ejecuciones sección se muestra arriba resuelto el problema.

  8. 0

    Tuve algo similar problema. Mis pruebas de Integración no fueron recogidos. Mi proyecto es un multi módulo de resorte de arranque del proyecto. Y mi error fue que he añadido maven-a prueba de fallos-plugin, en la matriz del POM. Después de tocar el violín alrededor con muchas opciones puse el de seguridad-plugin en el módulo de pom donde todos mis pruebas de integración se presente, que resolvió mi problema.

Dejar respuesta

Please enter your comment!
Please enter your name here