Soy nuevo en Maven. Estoy tratando de paquete de mi proyecto. Pero, automáticamente ejecuta las pruebas. Las pruebas de introducir algunos contenidos en la base de datos. Esto no es lo que yo quiero, necesito, para evitar la ejecución de pruebas, mientras que el paquete de la aplicación. Alguien sabe cómo ejecutar el paquete con las pruebas?

  • Una Unidad de Prueba debe constar de los siguientes 4 fases: Inicialización, Prueba, Verificación y Desmontaje. Tal vez debería ajustar sus pruebas y agregar un acuerdo de desmontaje/limpieza de su base de datos o que usted debe de utilizar una instancia de base de datos, no se suministra con su archivo jar, para ejecutar las pruebas.
  • Parece que las pruebas son «pesados» para que no se desea ejecutar. Pero es una mala práctica. Tal vez algunos frameworks como DBUnit puede ayudar ? O puede revertir cambios de base de datos al final de la prueba?
InformationsquelleAutor vks | 2011-09-17

19 Comentarios

  1. 512

    Ejecutar maven con

    mvn -Dmaven.test.skip=true package
    • gracias por ur inmediata respuesta,estoy ejecutando desde eclipse, donde puedo agregar el comando de la Dmaven.prueba.skip=true?
    • Nunca me he lanzado a mvn eclipse, pero en la Configuración de la ventana donde puede configurar maven objetivos y perfiles, hay un «Pasar la Prueba» casilla de verificación. Tal vez eso va a hacer el truco.
    • de acuerdo a la documentación que se saltan la compilación, así como en la ejecución. Usted puede usar-DskipTests saltar de ejecución. Este post también da algunas advertencias acerca de lo que las versiones que se pueden utilizar cada una bandera con
    • mvn package -Dmaven.test.skip=true obras.
    • En Ejecutar las Configuraciones de ventana en Eclipse, hay una tabla con las columnas como «Nombre de Parámetro» y «Valor». Introducir nombre de Parámetro como maven.prueba.saltar y valor como verdaderas obras.
    • Dado que esta respuesta se acepta, yo quería señalar una muy útil a la variación de la respuesta de Chris Playa: -Dmaven.test.skip.exec. Esto va a generar todos los mismos artefactos, incluyendo la prueba de jarra, sin la ejecución de las pruebas. De lo contrario, la prueba de jarra se omite, lo que resulta en el parcial de embalaje si que era parte de su distribución esperada.
    • Muchas gracias, yo solía hacerlo con -DskipTests pero no funciona, alguna idea de por qué ?
    • Tenga en cuenta que Maven Infalible Plugin y Maven a prueba de fallos Plugin documentación sugiere que el establecimiento de skipTests es preferible a la configuración de maven.test.skip.

  2. 160

    Acaba de proporcionar el comando mencionado por debajo de la cual se ignoran ejecutar los casos de prueba,

    mvn package -DskipTests
    • Esto funciona con maven 3 también.
    • para mí esto no funciona. Tuve que usar aceptado solución en lugar
    • -DskipTests no me funciona cuando he usado mvn clean install -DskipTests
    • Su parcialmente la multa ya que no se podrá ejecutar la prueba PERO comile clases de prueba…..
  3. 45

    usted puede añadir este plugin de configuración para su pom si usted no desea establecer la línea de comandos arg:

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <configuration>
        <skipTests>true</skipTests>
      </configuration>
    </plugin>
  4. 36

    Tenga en cuenta que -Dmaven.prueba.saltar impide Maven de la construcción de la prueba de-jar artefacto.

    Si quieres saltar pruebas, pero crear artefactos como por una normal construir usar:

    -Dmaven.test.skip.exec
    • Esta fue la respuesta que estaba buscando, funciona muy bien.Gracias.
  5. 28

    Si usted está tratando de esto en Windows Powershell, obtendrá este error:

    [ERROR] Unknown lifecycle phase ".test.skip=true". You must specify a valid lifecycle phase or a goal in the format...

    La razón de esto es, en Powershell el «-» tiene un significado especial y que está causando un problema con maven.

    La solución es anteponer a ella con un acento grave (`), como así..

    mvn `-Dmaven.test.skip=true install 

    Referencia: http://kuniganotas.wordpress.com/2011/08/12/invalid-task-test-skiptrue-you-must-specify-a-valid-lifecycle-phase/

    • Tuve el mismo problema esta resuelto para mí. Thx.
  6. 26
    <properties>
        <maven.test.skip>true</maven.test.skip>
    </properties>

    es también una manera de agregar en el archivo pom

  7. 18

    Puede pasar el maven.test.skip bandera como una JVM argumento, para pasar a realizar las pruebas cuando el paquete de fase (y las anteriores en el defecto del ciclo de vida) es de ejecución:

    mvn package -Dmaven.test.skip=true

    También se puede pasar el skipTests bandera solo para el mvn ejecutable. Si desea incluir esta información en el POM, puede crear un nuevo perfil donde puede configurar el maven-surefire-plugin a omitir las pruebas de.

  8. 10

    Respondiendo a un antiguo y aceptado pregunta aquí. Usted puede agregar esta en su pom.xml si desea evitar el paso argumento de línea de comandos todo el tiempo:

      <properties>
        <skipTests>true</skipTests>
      </properties>
  9. 5

    Puede agregar -DskipTests o -Dmaven.test.skip=true a cualquier mvn comando para saltar de pruebas. En su caso sería como la siguiente:

    mvn package -DskipTests

    O

    mvn package -Dmaven.test.skip=true
  10. 4

    Pruebas siempre deben[1] antes de ejecutar el paquete. Si usted necesita apagar las pruebas, usted está haciendo algo mal. En otras palabras, usted está tratando de resolver el problema equivocado. Averiguar cuál es el problema realmente es, y esa pregunta. Suena a que la base de datos relacionada.

    [1] puede obviar las pruebas cuando usted necesita para generar rápidamente un artefacto de los locales, el desarrollo de uso, pero en general, la creación de un artefacto siempre debe seguir una exitosa prueba de funcionamiento.

    • Tengo un problema similar: mis aplicaciones contiene websocket. Al ejecutar mvn clean install termino en una interminable serie de pruebas. Antes de que me de la fuerza de cerrado el proceso ha estado sucediendo durante 3 horas y los mensajes impresos que estaban a punto de Websocket. Puede usted por favor, echa un vistazo a mi problema para ver qué estoy haciendo mal ? stackoverflow.com/questions/54614739/…
  11. 1

    Que son, obviamente, lo hace de manera incorrecta. La prueba es una parte importante de pre-envasado. Usted no debe ignorar u omitir, pero en lugar de hacerlo de la manera correcta. Pruebe a cambiar la base de datos a la que inserta los datos(como test_db). Se puede tomar un tiempo para configurarlo. Y para asegurarse de que esta base de datos puede utilizarse para siempre, debe eliminar todos los datos al final de las pruebas. JUnit4 tiene anotaciones que hacen que sea fácil para usted. El uso de @Antes, @Después de @Prueba de anotaciones para el derecho de los métodos. Usted necesita pasar algún tiempo en ella, pero valdrá la pena!

    • Creo que la pregunta así como el deseo de paquete sin la ejecución de pruebas es perfectamente válido. No creo que el OP «obviamente está haciendo de la manera equivocada». Diferentes personas y proyectos tienen diferentes necesidades, y estos son comúnmente no en la alineación con el Maven de la biblia o las creencias de diversas personas (como usted) acerca de cómo el desarrollo de software debería funcionar. Creo que su respuesta sería más apreciada sin su condescendiente enfoque.
  12. 1

    En Intellij, vaya a Ver -> Ventanas de herramientas -> elegir Proyectos Maven.
    En el ciclo de vida desplegable, haga clic en paquete -> seleccione «Crear» su proyecto [paquete]’…

    Entrar en este valor: package -Dmaven.test.skip=true -f pom.xml en el campo línea de Comandos. Haga clic en Aplicar y Ejecutar las Configuraciones de menú desplegable debe aparecer junto con su personalizados creados maven comando.

    • ¿por qué fue esta votada abajo? Yo uso este cada vez que quería construir mi proyecto, pero omitiendo las pruebas
  13. 0

    Para maven paquete sin infectar maven de la prueba:

    <properties>
        <maven.test.failure.ignore>true</maven.test.failure.ignore>
    </properties>
    • Gracias, necesitaba exactamente esto hoy.
  14. -1

    La mejor y la manera más sencilla de hacerlo, en IntelliJ Idea en la ventana «Proyecto de Maven», y simplemente no haga clic en el botón de prueba. Espero, que me ayudó. Que tengan un buen día 🙂

    • Si usted haga clic en paquete, ejecuta las pruebas, que es lo OP que está tratando de evitar

Dejar respuesta

Please enter your comment!
Please enter your name here