2011-01-04 4 views
351

ユニットテストを実行せずにgradle buildを実行します。私は試しました:テストなしのビルド

$ gradle -Dskip.tests build 

これは何もしていないようです。私が使うことができる他のコマンドがありますか?

+1

これはおそらく[テストなしでGradle Buil](http://stackoverflow.com/questions/14779768/how-can-i-not-include-a-build-task-when-i-include-a- Project-in-my-settings-gradl/24138470#24138470) – Max

+0

あなたはJavaを使用していますか? –

答えて

702

タスクを除外するコマンドライン引数-xを使用する必要があります。

試してみてください。

gradle build -x test 

更新:ピーターさんのコメント内のリンクを変更

。ここでGradleの利用-xコマンドラインオプションから任意のタスクを除外するGradle user's guide

+33

これは正解です。 'gradle assemble'は他の多くのタスクも除外します。この[図](http://gradle.org/latest/docs/userguide/userguide_single.html#N119C7)をご覧ください。典型的な現実のビルドの場合、 'gradle assemble'はさらに多くのタスクを除外します。 –

+11

@PeterNiederwieserのリンクは有効ではなくなりました。おそらく、彼はこの図を参照していたでしょう:http://gradle.org/docs/current/userguide/img/javaPluginTasks.png – david

+6

'-x integTest'などのように、Mavenのブランケット' -DskipTests'ほど便利ではありません。 –

61

試してみてください。

gradle assemble 

してみてください、あなたのプロジェクトのために利用可能なすべてのタスクを一覧表示するには:

gradle tasks 

UPDATE:

これが最初で、最も正解に見えるが、読んでいないこと慎重にgradle tasks出力またはドキュメント。

Build tasks 
----------- 
assemble - Assembles the outputs of this project. 
build - Assembles and tests this project. 
+3

ユニットテストをデバッグする場合のヒントとして、 'gradle assemble'はメインファイルをコンパイルしません。単体テストを固定して作業する場合、 'gradle assemble testClasses'が必要です。ビルドタスクの命名はかなり混乱していると思います。 – Martin

26

回答は正しいです。

OTOH、私は以前、これはすべてのプロジェクトに以下を追加した解決方法:

test.onlyIf { ! Boolean.getBoolean('skip.tests') } 

-Dskip.tests=trueでビルドを実行し、すべてのテストタスクはスキップされます。

+3

-xテストは開始プロジェクトのみで動作するように見えるが、マルチプロジェクトビルド(gradle 2.1でテスト済み)の依存関係では動作しないため、これはまだ私にとっては唯一の作業オプションです。あなたのルートbuild.gradleのconfigure(サブプロジェクト.findAll {javaProjects.contains(it.name)}){}ブロックにtest.onlyif ...を置くと、すべてのプロジェクトで動作します。 – timm

+0

いいです。この方法は、Mavenユーザーにはよく知られています。 – AlexR

3

Reference

からdiagramです。あなたのマシンに複数のコアを持っている場合、これはあなたの基本的な

+0

ページのスクリーンショットを送ってください。私はコードのこの行を配置する場所を知りません.... –

+0

このコードはあなたのbuild.gradleに行く必要があります:) –

0
gradle build -x test --parallel 

を与えるだろうgradle -q dist -x runningTest

task compile 
compile test 
running distribution job 

希望:例以下

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' 
} 

出力を参照してください。ただし、パラレルクリーンを使用することはお勧めしません。

関連する問題