5

私のgradleプロジェクトはjunit 5を使用しており、テストレポートをビルドサーバーに表示しようとしています。XML レポートは基本的に問題ないように見えます。すべてのテスト クラスとメソッドが含まれていますが、テスト メソッドに出力された stdout/stderr がありません。テスト メタデータを含む CDATA は一部しかありません。

@Test
void testToString() {
    System.out.println("Hello world");
    ...
}

XML レポート:

<testcase name="testToString()" classname="com.my.company.PairsTest" time="0.008">
<system-out><![CDATA[
unique-id: [engine:junit-jupiter]/[class:com.my.company.PairsTest]/[method:testToString()]
display-name: testToString()
]]></system-out>
</testcase>

gradle プラグインに stdout/stderr をキャプチャするように指示する設定はありますか? http://junit.org/junit5/docs/current/user-guide/#running-tests-buildを見回しましたが、何も見つかりませんでした。

と を使用org.junit.platform:junit-platform-gradle-plugin:1.0.0-M3してorg.junit.jupiter:junit-jupiter-{api,engine}:5.0.0-M3います。

4

1 に答える 1

5

Marc Philipp が述べたように、現在、JUnit 5 では、プラットフォームでも Jupiter でも、STDERR または STDOUT への出力のキャプチャはサポートされていません。

このような機能が必要な場合は、https ://github.com/junit-team/junit5/issues で問題を提起してください。

更新(2017.11.01)

参考までに: 概念実証として、JUnit 4 ベースのOutputCaptureルールを Spring Boot から JUnit Jupiter に移植しました: https://github.com/sbranen/junit5-demo/blob/master/src/test/java/extensions/CaptureSystemOutput .java

于 2017-04-06T15:30:13.147 に答える