Ich möchte ausführen, gradle build
ohne die Komponententests auszuführen . Ich habe es versucht:
$ gradle -Dskip.tests build
Das scheint nichts zu bewirken. Gibt es einen anderen Befehl, den ich verwenden könnte?
-DskipTests
ist für Maven
Ich möchte ausführen, gradle build
ohne die Komponententests auszuführen . Ich habe es versucht:
$ gradle -Dskip.tests build
Das scheint nichts zu bewirken. Gibt es einen anderen Befehl, den ich verwenden könnte?
-DskipTests
ist für Maven
Antworten:
Sie sollten das -x
Befehlszeilenargument verwenden, das jede Aufgabe ausschließt.
Versuchen:
gradle build -x test
Aktualisieren:
Der Link in Peters Kommentar hat sich geändert. Hier ist das Diagramm aus dem Gradle-Benutzerhandbuch
-x integTest
usw. hinzufügen müssen , also nicht so praktisch wie Mavens Decke -DskipTests
.
run
kann ich die Wirkung meines Hello-Programms sehen. Aber ich denke, dass es alles wieder kompiliert. Ich möchte nur das Java-Programm ausführen.
Versuchen:
gradle assemble
Versuchen Sie Folgendes, um alle verfügbaren Aufgaben für Ihr Projekt aufzulisten:
gradle tasks
AKTUALISIEREN:
Dies scheint zunächst nicht die richtigste Antwort zu sein, aber lesen Sie die gradle tasks
Ausgabe oder die Dokumente sorgfältig durch .
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
gradle assemble
Kompilieren Sie die Hauptdateien nicht. Wenn Sie daran arbeiten, Ihren Unit-Test zu reparieren, müssen Sie gradle assemble testClasses
- ich denke, dass die Benennung der Build-Task ziemlich verwirrend ist.
Die akzeptierte Antwort ist die richtige.
OTOH, die Art und Weise, wie ich dies zuvor gelöst habe, bestand darin, allen Projekten Folgendes hinzuzufügen:
test.onlyIf { ! Boolean.getBoolean('skip.tests') }
Führen Sie den Build mit aus, -Dskip.tests=true
und alle Testaufgaben werden übersprungen.
Sie können die folgenden Zeilen hinzufügen build.gradle
, um **/*
alle Tests auszuschließen.
test {
exclude '**/*'
}
Sie können Aufgaben ausschließen
gradle build --exclude-task test
Verwenden Sie die -x
Befehlszeilenoption, um eine Aufgabe von gradle auszuschließen . Siehe das folgende Beispiel
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'
}
Ausgabe von: gradle -q dist -x runningTest
task compile
compile test
running distribution job
Hoffe das würde dir das Grundlegende geben
Die verschiedenen Möglichkeiten zum Deaktivieren von Testaufgaben im Projekt sind:
tasks.withType(Test) {enabled = false}
Dieses Verhalten ist manchmal erforderlich, wenn Sie Tests in einem Projekt (oder einer Gruppe von Projekten) deaktivieren möchten.
Auf diese Weise können Sie für alle Arten von Testaufgaben arbeiten, nicht nur für Java-Tests. Auch dieser Weg ist sicher. Ich meine Folgendes: Sie haben eine Reihe von Projekten in verschiedenen Sprachen: Wenn wir versuchen, diese Art von Datensatz in main hinzuzufügen build.gradle
:
subprojects{
.......
tests.enabled=false
.......
}
Wir werden in einem Projekt scheitern, wenn wir keine Aufgabe namens Tests haben
Wenn Sie -x test
die Testausführung überspringen, wird jedoch auch die Kompilierung des Testcodes ausgeschlossen.
gradle build -x test
In unserem Fall haben wir einen CI / CD-Prozess, bei dem ein Ziel die Kompilierung und das nächste Ziel das Testen ist (Build -> Test).
Für unser erstes Build
Ziel wollten wir also sicherstellen, dass das gesamte Projekt gut kompiliert wird. Dafür haben wir verwendet:
./gradlew build testClasses -x test
Beim nächsten Ziel führen wir einfach Tests durch.
gradle build -x test --parallel
Wenn Ihre Maschine mehrere Kerne hat. Es wird jedoch nicht empfohlen, Parallel Clean zu verwenden.
Bitte versuchen Sie dies:
gradlew -DskipTests=true build
Im Java-Plugin :
$ 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.
Gradle Build ohne Test Sie haben zwei Möglichkeiten:
$ gradle assemble
$ gradle build -x test
aber wenn Sie Test kompilieren wollen:
$ gradle assemble testClasses
$ gradle testClasses