将ant junit生成的测试结果集成到gradle html报告中

将ant junit生成的测试结果集成到gradle html报告中,gradle,build.gradle,Gradle,Build.gradle,在我的gradle构建脚本中,我将doLast方法添加到测试任务中,以运行ant.junit任务,从几个jar文件执行测试 test << { //run ant junit task with reports stored in $buildDir/test-results //after ant junit completion and "test" task completion, //how can I get the gra

在我的gradle构建脚本中,我将doLast方法添加到测试任务中,以运行ant.junit任务,从几个jar文件执行测试

    test <<  {
      //run ant junit task with reports stored in $buildDir/test-results

      //after ant junit completion and "test" task completion, 
      //how can I get the gradle generated html report include the above test-results?    
    }

我正在使用gradle 1.8。

我建议在关闭后创建另一个来取代您的DOA

task antTests(type: Test){
  //configuration here
}
我相信在这一点上,您可以以与之前尝试类似的方式使用TestReport任务

task runTestsFromJar( type: TestReport ) {
    destinationDir=file("$buildDir/reports/tests")
    reportOn test, antTests
}

我尝试基于现有xml结果文件目录生成报告,并且在
二进制
子文件夹上也未成功

根据的响应,似乎无法使用gradle即时生成gradle样式的测试html报告。GradleTestReport任务似乎依赖于“测试”任务生成的二进制输出文件。当使用gradle中的ant.JUnitTask运行测试时,不会生成这些命令。 我最终求助于“ant JUnitReport任务”,以生成至少一个有意义的合并报告

test <<  {
  //run ant junit task with reports stored in $buildDir/test-results

  //after ant junit completion  
   ant.junitReport( toDir: "$buildDir/reports") {
            fileset ( dir:"$buildDir/test-results" )
            report ( format:"frames", todir:"$buildDir/reports" )
   }
}

测试没有运气。它仍然不会生成报告。我也尝试了gradle的最新版本。您是否验证了antTests任务生成XML junit报告?此外,从以前的实现生成的测试输出是否包含$buildDir/test results/binary/test中的results.bin文件,以供任务报告?是的。我验证了XML是否存在。显然,这似乎是不可行的,根据答复中提到的请审查我的。我认为TestReport任务使用的不是XML文件,而是嵌套的“binary”文件夹中的*.bin文件。没有该目录中的*.bin文件,我无法使报告正常工作。当然,我在src/rawResults中报告的静态测试结果是从另一个Gradle项目生成的,而不是Ant。您需要为junitreport添加任务定义:
Ant.taskdef(名称:'junitreport',类名:'org.apache.tools.Ant.taskdefs.optional.junit.XMLResultAggregator',类路径:configurations。[配置包含ant junit.jar].asPath)
请参见此处的示例:
test <<  {
  //run ant junit task with reports stored in $buildDir/test-results

  //after ant junit completion  
   ant.junitReport( toDir: "$buildDir/reports") {
            fileset ( dir:"$buildDir/test-results" )
            report ( format:"frames", todir:"$buildDir/reports" )
   }
}