如何使用gradle在xml报告中发布其他junit5失败消息?

时间:2019-02-25 15:39:45

标签: java gradle junit junit5

我正尝试将有关测试用例失败的其他信息添加到xml报告中:

使用gradle参数进行构建测试

test {
    useJUnitPlatform()
    reports.junitXml.enabled = true
    // is it gradle side or junit side xml report generator implementation?
    // (does it use LegacyXmlReportGeneratingListener?)
}

然后实现自己的扩展名,并由@ExtendWith(MyExtension.class)

使用
public class MyExtension implements TestExecutionExceptionHandler {
    @Override
    public void handleTestExecutionException(final ExtensionContext context, Throwable throwable) throws Throwable {
        context.publishReportEntry("ADDITIONAL_INFORMATIONS", SOME_DATA);
        // (is this call reportingEntryPublished from LegacyXmlReportGeneratingListener?)
        throw throwable;
    }
}

但是ADDITIONAL_INFORMATIONS不会在xml中的任何地方显示。

我知道这里有org.junit.platform.reporting.legacy.xml.LegacyXmlReportGeneratingListener,但是我只发现了org.junit.platform.launcher.Launcher用例,而与Gradle一起使用却毫无用处。 使用gradle / junit5向xml失败条目添加附加消息的最佳方法是什么? 我可以使用gradle添加自己的org.junit.platform.launcher.TestExecutionListener吗?

我希望它<failure message="...here">

使用

  • junit 5.4.0
  • 4.10.2级

1 个答案:

答案 0 :(得分:0)

不,Gradle的报告基础结构不使用JUnit的LegacyXmlReportGeneratingListener

此外,Gradle尚未在其生成的报告中包括报告条目。有关详细信息,请参见以下Gradle问题:https://github.com/gradle/gradle/issues/4605