我对此的大部分搜索都是干涩的,所以我想我直接问过......是否有可能让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相当新,所以我可能会在这里找到一些令人痛苦的事情。
任何对正确方向的建议或推动都会受到赞赏。
答案 0 :(得分:1)
我想我可能(部分)回答了我自己的问题......
诀窍是使用testLogging.showStandardStreams = true
并调用Reporter.log(String, boolean)
重载,允许Reporter输出转到STDOUT。这允许“标准输出”选项卡显示在Gradle报告中的测试类信息下(正如Mark Viera在Gradle TestNG results output上所描述的那样)。
不幸的是,这仍然不太适合我的需求。将Reporter输出与记录它的测试用例一起显示会很不错。我仍然对此有任何建议。