2014-09-30 53 views
1

我似乎无法弄清楚如何配置Gradle TestNG运行的日志输出和结果文件夹。Gradle TestNG结果输出

首先,Gradle默认为HTML报告输出选择$project_dir/build/reports/tests。我如何更改此默认位置?我试图设置testReportDirbuild.gradle无济于事。在调用useTestNG()时指定地图,例如

test { 
    if (runTest) { 
     // enable TestNG support (default is JUnit) 
     useTestNG { 
     outputDirectory = file("$buildDir/test-output") 
     } 
    } 
} 

不起作用。

其次,我尝试使用TestNG的记者对一些额外的日志记录,e.g:

@Test 
public void testMethod() { 
    parseFile(); 
    Reporter.log("File parsed"); 
    Assert.assertTrue(...); 
} 

,但我似乎无法找到日志!有人可以帮忙吗?

回答

3

testReportDir属性为只读。您需要设置Project.testReportDirName。您应该能够像这样启用测试日志记录。

test { 
    testLogging.showStandardStreams = true 
} 
+0

我试过设置testReportDirName,它没有效果。至于showStandardStreams - 我确实得到了标准输出中的日志,但是我如何将它们重定向到一个文件?或者最好是HTML格式的Gradle测试报告? – siphiuel 2014-10-01 15:31:04

+1

请注意,'testReportDirName'是Project上的一个属性,而不是Test任务。确保将它放在'test {...}'关闭之外。此外,请尝试将其设置为绝对路径'testReportDirName =“$ {buildDir}/myReportDir”'。任何记录到标准输出(或标准错误)的内容都包含在HTML报告中(通过单击单个测试类,然后单击'标准输出'选项卡)或者在“构建/测试结果”中的XML和二进制文件中目录。 – 2014-10-01 19:44:08