Gradle construire sans tests

Je veux exécuter gradle build sans exécuter les tests unitaires. J'ai essayé:

$ gradle -Dskip.tests build

, ce Qui ne semble pas faire quoi que ce soit. Est-il une autre commande que je pourrais utiliser?

434
demandé sur Jacek Laskowski 2011-01-04 23:01:23

7 réponses

Vous devez utiliser l'argument de ligne de commande -x qui exclut toute tâche.

Essayez:

gradle build -x test 

Mise à Jour:

Le lien dans le commentaire de Peter a changé. Voici le diagramme du guide de L'utilisateur Gradle

861
répondu c_maker 2017-12-30 14:17:34

Essayez:

gradle assemble

Pour lister toutes les tâches disponibles pour votre projet, essayez:

gradle tasks

Mise à jour:

Cela peut ne pas sembler la réponse la plus correcte au début, mais lisez attentivement gradle tasks output ou docs.

Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
72
répondu Emil Sit 2014-04-25 10:45:06

La réponse acceptée est la bonne.

OTOH, la façon dont j'ai précédemment résolu cela était d'ajouter ce qui suit à tous les projets:

test.onlyIf { ! Boolean.getBoolean('skip.tests') }

Exécutez la construction avec -Dskip.tests=true et toutes les tâches de test seront ignorées.

27
répondu David Resnick 2014-03-11 20:44:40

Référence

Pour exclure une tâche de gradle, utilisez l'option de ligne de commande -x. Voir l'exemple ci-dessous

task compile << {
    println 'task compile'
}

task compileTest(dependsOn: compile) << {
    println 'compile test'
}

task runningTest(dependsOn: compileTest) << {
    println 'running test'
}
task dist(dependsOn:[runningTest, compileTest, compile]) << {
    println 'running distribution job'
}

Sortie de: gradle -q dist -x runningTest

task compile
compile test
running distribution job

Espère que cela vous donnera la base

3
répondu Suganthan Madhavan Pillai 2017-06-12 09:56:07
gradle build -x test --parallel

Si votre machine a plusieurs cœurs. Cependant, il n'est pas recommandé d'utiliser en parallèle propre.

0
répondu Yan Khonski 2017-05-31 08:26:05

La manière différente de désactiver les tâches de test dans le projet est:

tasks.withType(Test) {enabled = false}

Ce comportement est parfois nécessaire si vous voulez désactiver les tests dans l'un d'un projet (ou le groupe de projets).

Cette façon de travailler pour toutes sortes de tâches de test, pas seulement un java 'tests'. En outre, cette façon est sûr. Voilà ce que je veux dire disons: vous avez un ensemble de projets dans différentes langues: si nous essayons d'ajouter ce genre d'enregistrement dans main build.gradle:

 subprojects{
 .......
 tests.enabled=false
 .......
}

Nous échouerons dans un projet quand si nous n'avons pas tâche appelée tests

0
répondu Sergey Yakovlev 2018-05-03 12:01:26

, Vous pouvez essayer d'ajouter les lignes suivantes build.gradle, **/* exclure tous les tests.

test {
    exclude '**/*'
}
0
répondu Guisong He 2018-05-29 11:17:20