2011-12-03 10 views
2

junitテストをgradleで実行しているときにログ出力を表示する方法に関する多くの情報が不足しています。 Loggerに依存しないために、Apacheのコモンズを使用してプロジェクトにログインします。テストからのコモンズロギングメッセージを転送する

は今、私はこれを見つけたが、それは本当に何も説明していません:私は私のテストからのログメッセージを表示する方法Gradleのタスクからログインしますが、しないようにどのように良い理解を得るhttp://gradle.org/loggingGradle java.util.logging.Logger output in unit tests

を。

gradle -iも私が探しているものではありません。これはテストに関するいくつかの情報を提供しますが、ログ出力を私に与えるものではありません。

正しい方向にヒントがあります。



EDIT(それはピーターの答えに非常に長い返信ですので、ここでそれをやって):

test { 
testLogging.showStandardStreams = true 
} 

を追加するにはちょっと、働いていました。これはGradle 1.0-mileestone-6の機能なので、まずGradleをアップグレードする必要がありました。 その後、src/test/javaフォルダにある私のlog4j.propertiesが見つかりませんでした。 build.gradleファイルに

sourceSets.test.runtimeClasspath += files(sourceSets.test.java.srcDirs) 

を追加するには、少なくとも警告を沈黙が、私は任意のログ出力をしませんでした。私のlog4j.xmlが問題になることはありません、それはIDEで働いていた。ただ、完全を期すため

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 
<appender name="console" class="org.apache.log4j.ConsoleAppender"> 
    <param name="Target" value="System.out"/> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/> 
    </layout> 
</appender> 


<root> 
    <priority value="info"/> 
    <appender-ref ref="console"/> 
</root> 

</log4j:configuration> 

、私はshowStandardStreamをGoogleで検索し、私はで始まるすることが分かっているはずの情報が見つかりました:http://gradle.org/current/docs/dsl/org.gradle.api.tasks.testing.Test.html

質問まだ開いて、しかし、それが動作するように:)いないようでしたので、

EDIT2:

gradle test -iプリントログ情報の出力。それはまさに私が探していたものではありませんが(それはグラデーションログと混ざっているので)、これで十分です。

答えて

2

test.testLogging.showStandardStreamstrueに設定し、テストログが標準出力に出力されていることを確認してください。これにより、ログ出力がコマンドラインとテストレポートの両方に表示されます。

+0

ヒントのおかげで、ピーター。上記の私の答えを参照してください(かなり長いので、そこに置かなければなりませんでした)。 – rweng

関連する問題