使TestNG Reporter输出显示在Gradle HTML测试报告中

时间:2016-02-25 20:35:03

标签: html gradle report testng

我对此的大部分搜索都是干涩的,所以我想我直接问过......是否有可能让TestNG的Reporter输出显示在Gradle HTML报告中?

为了说明我尝试做的事情:我有一堆testNG测试方法,它们调用Reporter.log()来在运行时记录一些额外的上下文信息。

@Test
public void testCase() {
    Reporter.log("Something happened");
    Assert.assertTrue(true);
}

我的Gradle任务设置为:

test {
    useTestNG() {
        suites("src/test/resources/testng.xml")
        useDefaultListeners = true
    }
}

有意设置useDefaultListners = true,以便仍然生成testNG的XML结果文件。我可以从testng-results.xml中看到Reporter日志数据已正确存储,但我似乎无法将其显示在Gradle的HTML报告中。

根据Mark Viera对Gradle TestNG results output的建议,我尝试设置testLogging.showStandardStreams = true,但Reporter日志似乎仍未被提取。

我对Gradle和TestNG相当新,所以我可能会在这里找到一些令人痛苦的事情。

任何对正确方向的建议或推动都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

我想我可能(部分)回答了我自己的问题......

诀窍是使用testLogging.showStandardStreams = true并调用Reporter.log(String, boolean)重载,允许Reporter输出转到STDOUT。这允许“标准输出”选项卡显示在Gradle报告中的测试类信息下(正如Mark Viera在Gradle TestNG results output上所描述的那样)。

不幸的是,这仍然不太适合我的需求。将Reporter输出与记录它的测试用例一起显示会很不错。我仍然对此有任何建议。