Как записать stdout/stderr в отчёт о тестировании в gradle на junit 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/, но не смог найти ни одного.
я использую org.junit.platform:junit-platform-gradle-plugin:1.0.0-M3
а также org.junit.jupiter:junit-jupiter-{api,engine}:5.0.0-M3
,
1 ответ
Как отметил Марк Филипп, в настоящее время отсутствует поддержка захвата выходных данных в STDERR или STDOUT в JUnit 5, ни в Платформе, ни в Юпитере.
Если вам нужна такая функция, пожалуйста, поднимите вопрос здесь: https://github.com/junit-team/junit5/issues
Обновление (2017.11.01)
К вашему сведению: в качестве доказательства концепции я перенес JUnit 4 на основе OutputCapture
править от Spring Boot до JUnit Jupiter здесь: https://github.com/sbrannen/junit5-demo/blob/master/src/test/java/extensions/CaptureSystemOutput.java