web-dev-qa-db-fra.com

Gradle construit sans tests

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?

560
Dave

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

1094
c_maker

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.
90
Emil Sit

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.

32
David Resnick

Vous pouvez ajouter les lignes suivantes à build.gradle, **/* exclut tous les tests.

test {
    exclude '**/*'
}
9
Guisong He

référence

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

3
Pehmolelu

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

1
Sergey Yakovlev
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.

0
Yan Khonski

S'il vous plaît essayez ceci:

gradlew -DskipTests=true build

0