gradle build
単体テストを実行せずに実行したい。私は試した:
$ gradle -Dskip.tests build
それは何もしないようです。他に使用できるコマンドはありますか?
-DskipTests
Mavenのためである
gradle build
単体テストを実行せずに実行したい。私は試した:
$ gradle -Dskip.tests build
それは何もしないようです。他に使用できるコマンドはありますか?
-DskipTests
Mavenのためである
回答:
-x
タスクを除外するコマンドライン引数を使用する必要があります。
試してください:
gradle build -x test
更新:
Peterのコメントのリンクが変更されました。ここで図からGradleのユーザーガイドが
-x integTest
、追加する必要がある場合もありますが、Mavenの毛布ほど便利ではありません-DskipTests
。
run
、私は私のHelloプログラムの効果を見ることができます。しかし、それはすべてを再びコンパイルしていると思います。Javaプログラムを実行したいだけです。
試してください:
gradle assemble
プロジェクトで使用可能なすべてのタスクを一覧表示するには、次のことを試してください。
gradle tasks
更新:
これは最初は最も正しい答えとは思えないかもしれませんが、gradle tasks
出力またはドキュメントを注意深く読んでください。
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
gradle assemble
メインファイルをコンパイルしません。単体テストを修正gradle assemble testClasses
するために作業する場合は、必要です—ビルドタスクの命名は非常にわかりにくいと思います。
受け入れられた答えは正しいものです。
OTOH、これを以前に解決した方法は、すべてのプロジェクトに以下を追加することでした:
test.onlyIf { ! Boolean.getBoolean('skip.tests') }
ビルドを実行すると-Dskip.tests=true
、すべてのテストタスクがスキップされます。
次の行をに追加してbuild.gradle
、**/*
すべてのテストを除外できます。
test {
exclude '**/*'
}
タスクを除外できます
gradle build --exclude-task test
Gradleからタスクを除外するには、-x
コマンドラインオプションを使用します。以下の例を参照してください
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'
}
出力: gradle -q dist -x runningTest
task compile
compile test
running distribution job
これがあなたに基本を与えることを願っています
プロジェクトでテストタスクを無効にする別の方法は次のとおりです。
tasks.withType(Test) {enabled = false}
この動作は、プロジェクト(またはプロジェクトのグループ)の1つでテストを無効にする場合に必要になることがあります。
この方法は、Javaの「テスト」だけでなく、あらゆる種類のテストタスクで機能します。また、この方法は安全です。ここで私が言いたいことを言いましょう:あなたはさまざまな言語の一連のプロジェクトを持っています:この種のレコードをmainに追加しようとするとbuild.gradle
:
subprojects{
.......
tests.enabled=false
.......
}
テストというタスクがない場合、プロジェクトで失敗します
-x test
スキップテストの実行を使用しますが、これによりテストコードのコンパイルも除外されます。
gradle build -x test
今回のケースでは、1つの目標がコンパイルで、次の目標がテスト(ビルド->テスト)であるCI / CDプロセスがあります。
したがって、最初のBuild
目標として、プロジェクト全体が適切にコンパイルされるようにしたかったのです。このために使用しました:
./gradlew build testClasses -x test
次の目標では、単にテストを実行します。
これを試してください:
gradlew -DskipTests=true build
$ 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ビルドには、2つのオプションがあります。
$ gradle assemble
$ gradle build -x test
しかし、コンパイルテストが必要な場合:
$ gradle assemble testClasses
$ gradle testClasses