dave
quiero ejecutar gradle build
sin ejecutar las pruebas unitarias. Lo intenté:
$ gradle -Dskip.tests build
Eso no parece hacer nada. ¿Hay algún otro comando que pueda usar?
c_fabricante
Deberías usar el -x
argumento de línea de comando que excluye cualquier tarea.
Probar:
gradle build -x test
Actualizar:
El enlace en el comentario de Peter cambió. Aquí está el diagrama desde el guía del usuario gradle
-
Esta es la respuesta correcta. ‘gradle ensamblar’ también dejará de lado muchas otras tareas. Mira esto diagrama para hacerse una idea. Para las compilaciones típicas de la vida real, el ‘ensamblaje gradle’ dejará de lado aún más tareas.
–Peter Niederwieser
3 de febrero de 2011 a las 16:48
-
El enlace de @PeterNiederwieser ya no es válido. Probablemente se refería a este diagrama: gradle.org/docs/current/userguide/img/javaPluginTasks.png
– Dave L.
12 de agosto de 2012 a las 18:23
-
Funciona aunque es posible que deba agregar, por ejemplo
-x integTest
y así sucesivamente, por lo que no es tan conveniente como la manta de Maven-DskipTests
.–Jesse Glick
16 de agosto de 2013 a las 16:37
-
@c_maker, ¿Cómo realizar esto desde eclipse?
– rinutomaz
21 de junio de 2016 a las 14:55
-
Por cierto, puede excluir no todos, pero sí el módulo determinado (es decir, para
module1
) prueba usando la siguiente sintaxis:gradle build -x :module1:test
– Antón Ermakov
31 de mayo de 2017 a las 11:37
emil sentarse
Probar:
gradle assemble
Para enumerar todas las tareas disponibles para su proyecto, intente:
gradle tasks
ACTUALIZAR:
Esta puede no parecer la respuesta más correcta al principio, pero lea con atención. gradle tasks
salida o documentos.
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
-
Como sugerencia adicional en caso de que esté depurando sus pruebas unitarias:
gradle assemble
no compilará los archivos principales. Si trabaja para arreglar la prueba de su unidad, entonces necesitagradle assemble testClasses
— Creo que el nombre de la tarea de compilación es bastante confuso.– Martín
25 de febrero de 2015 a las 7:47
Guisong él
Puede agregar las siguientes líneas a build.gradle
, **/*
excluye todas las pruebas.
test {
exclude '**/*'
}
-
Esto es bueno porque puedo hacer esto en IntelliJ fácilmente y no en la línea de comandos.
– javaPor favor42
17 de junio de 2020 a las 16:33
-
Desafortunadamente, al hacer esto, no será posible ejecutar ninguna prueba en IDEA.
– Nikola Mihajlović
2 de diciembre de 2021 a las 6:28
-
@NikolaMihajlović puede envolver la exclusión en un
if(....)
bloque ei. (solo en producción)– Eboubaker
4 de diciembre de 2021 a las 13:43
david resnick
La respuesta aceptada es la correcta.
OTOH, la forma en que resolví esto anteriormente fue agregar lo siguiente a todos los proyectos:
test.onlyIf { ! Boolean.getBoolean('skip.tests') }
Ejecute la compilación con -Dskip.tests=true
y se omitirán todas las tareas de prueba.
Cada acción en gradle es un task
y tambien test
. Y para excluir un task
desde gradle run, puedes usar la opción --exclude-task
o es abreviado -x
seguido del nombre de la tarea que debe excluirse. Ejemplo:
gradle build -x test
los -x
La opción debe repetirse para todas las tareas que deben excluirse.
Si tiene diferentes tareas para diferentes tipos de pruebas en su build.gradle
archivo, entonces debe omitir todas las tareas que ejecutan test. Di que tienes una tarea test
que ejecuta pruebas unitarias y una tarea testFunctional
que ejecuta pruebas funcionales. En este caso, puede excluir todas las pruebas como se muestra a continuación:
gradle build -x test -x testFunctional
David Newcomb
Usando -x test
omita la ejecución de la prueba, pero esto también excluye la compilación del código de prueba.
gradle build -x test
En nuestro caso, tenemos un proceso de CI/CD en el que un objetivo es la compilación y el próximo objetivo es la prueba (Construir -> Probar).
Entonces, para nuestro primer Build
objetivo queríamos asegurarnos de que todo el proyecto se compile bien. Para ello hemos utilizado:
./gradlew build testClasses -x test
En el siguiente objetivo, simplemente ejecutamos pruebas:
./gradlew test
Pehmolelu
Puedes excluir tareas
gradle build --exclude-task test
Tal vez esto te ayude Gradle Buil sin pruebas
– muchacho pícaro
10 de junio de 2014 a las 10:23
-DskipTests
es para maven– Gayan Weerakutti
31 de octubre de 2019 a las 9:02
Entiendo que a veces puede ser útil, pero Gradle tiene una concurrencia de prueba fácil de habilitar. Tal vez reducir 1-2 segundos no sea lo mejor, por lo que asegurarnos de pasar menos tiempo ejecutándolos podría permitirnos realizar pruebas siempre y no pagar el costo o pagar poco.
– Mashimom
12 de febrero de 2021 a las 8:11