Je veux exécuter gradle build
sans exécuter les tests unitaires. J'ai essayé:
$ gradle -Dskip.tests build
Cela ne semble rien faire. Y a-t-il une autre commande que je pourrais utiliser?
Vous devez utiliser l'argument de ligne de commande -x
qui exclut toute tâche.
Essayer:
gradle build -x test
Mise à jour:
Le lien dans le commentaire de Peter a changé. Voici le diagramme du guide de l'utilisateur de Gradle
Essayer:
gradle assemble
Pour répertorier 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
le résultat ou la documentation.
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
La réponse acceptée est la bonne.
OTOH, la solution que j’avais précédemment résolue consistait à ajouter les éléments suivants à 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.
Vous pouvez ajouter les lignes suivantes à build.gradle
, **/*
exclut tous les tests.
test {
exclude '**/*'
}
Pour exclure une tâche du dégradé, 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
J'espère que cela vous donnerait la base
Vous pouvez exclure des tâches
gradle build --exclude-task test
la manière différente de désactiver les tâches de test dans le projet est la suivante:
tasks.withType(Test) {enabled = false}
ce comportement est parfois nécessaire si vous souhaitez désactiver les tests dans l'un des projets (ou dans le groupe de projets).
De cette façon, vous travaillez pour tout type de tâche de test, pas seulement pour un Java 'tests'. En outre, cette façon est sûre. Voici ce que je veux dire, disons: vous avez un ensemble de projets dans différentes langues: si nous essayons d’ajouter ce type d’enregistrement dans main build.gradle
:
subprojects{
.......
tests.enabled=false
.......
}
nous échouerons dans un projet si nous n'avons pas de tâche appelée tests
gradle build -x test --parallel
Si votre machine a plusieurs cœurs. Cependant, il n'est pas recommandé d'utiliser le nettoyage en parallèle.
S'il vous plaît essayez ceci:
gradlew -DskipTests=true build