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?
-DskipTests
est pour Maven
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?
-DskipTests
est pour Maven
Réponses:
Vous devez utiliser l' -x
argument de ligne de commande qui exclut toute tâche.
Essayer:
gradle build -x test
Mise à jour:
Le lien dans le commentaire de Peter a changé. Voici le schéma du guide de l'utilisateur Gradle
-x integTest
, etc., donc pas aussi pratique que la couverture de Maven -DskipTests
.
run
je peux voir l'effet de mon programme Hello. Mais je pense qu'il compile tout à nouveau. Je voudrais seulement exécuter le programme java.
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 la gradle tasks
sortie ou les documents.
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
gradle assemble
ne compilera pas les fichiers principaux. Si vous travaillez à faire corriger votre test unitaire, alors vous avez besoin gradle assemble testClasses
- je pense que le nom de la tâche de construction est assez déroutant.
La réponse acceptée est la bonne.
OTOH, la façon dont je l'ai résolu auparavant était d'ajouter les éléments suivants à tous les projets:
test.onlyIf { ! Boolean.getBoolean('skip.tests') }
Exécutez la génération 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 '**/*'
}
Vous pouvez exclure des tâches
gradle build --exclude-task test
Pour exclure une tâche de Gradle, utilisez l' -x
option de ligne de commande. 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 donnera les bases
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 d'un projet (ou du groupe de projets).
De cette façon, il fonctionne pour toutes sortes de tâches de test, pas seulement pour des «tests» java. De plus, 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 en principal build.gradle
:
subprojects{
.......
tests.enabled=false
.......
}
nous échouerons dans un projet quand si nous n'avons aucune tâche appelée tests
Utiliser l' -x test
exécution de test de saut, mais cela exclut également la compilation de code de test.
gradle build -x test
Dans notre cas, nous avons un processus CI / CD où un objectif est la compilation et le prochain objectif est le test (Build -> Test).
Donc, pour notre premier Build
objectif, nous voulions nous assurer que l'ensemble du projet se compile bien. Pour cela, nous avons utilisé:
./gradlew build testClasses -x test
Sur le prochain objectif, nous exécutons simplement des tests.
gradle build -x test --parallel
Si votre machine a plusieurs cœurs. Cependant, il n'est pas recommandé d'utiliser le nettoyage parallèle.
Veuillez essayer ceci:
gradlew -DskipTests=true build
Dans le plugin Java :
$ gradle tasks
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
testClasses - Assembles test classes.
Verification tasks
------------------
test - Runs the unit tests.
Construction Gradle sans test, vous avez deux options:
$ gradle assemble
$ gradle build -x test
mais si vous voulez compiler le test:
$ gradle assemble testClasses
$ gradle testClasses