使用 Ant 生成 reporty-ng TestNG 报告失败

Generating reporty-ng TestNG reports with Ant fails

在命令提示符下,当我运行使用Reporty-testng-xslt的测试用例时,构建成功并且testng.xml没有被触发.

当我点击 index.html 时,没有任何显示。

但是当我 运行 testng xml 与主要 class 单独使用时,它 运行 很好。当我 运行 使用 testng-xslt 时,它不起作用。

命令提示符

C:\Users\workspace\LoggerThree>ant -buildfile reporty-ng-report.xml

Buildfile: C:\Users\workspace\LoggerThree\reporty-ng-report.xml

reporty-ng-report:
[delete] Deleting directory C:\Users\workspace\LoggerThree\reporty-ng
[mkdir] Created dir: C:\Users\workspace\LoggerThree\reporty-ng
[xslt] Processing C:\Users\workspace\LoggerThree\lib\testng.xml to C:\Users\workspace\LoggerThree\reporty-ng\index.html
[xslt] Loading stylesheet C:\Users\workspace\LoggerThree\resources\testng-results.xsl

BUILD SUCCESSFUL

Ant 脚本

<project name="Reporty-ng Report" default="reporty-ng-report" basedir=".">
    <!-- Sets the property variables to point to respective directories -->
    <property name="xslt-report-dir" value="${basedir}/reporty-ng/" />
    <property name="report-dir" value="${basedir}/html-report" />
    <property name="lib-dir" value="${basedir}/lib" />

    <path id="test.classpath">
        <fileset dir="${lib-dir}">
            <include name="**/*.jar" />
        </fileset>
    </path>

    <target name="reporty-ng-report">
        <delete dir="${xslt-report-dir}" />
        <mkdir dir="${xslt-report-dir}" />
        <xslt in="${basedir}/lib/testng.xml"
            style="${basedir}/resources/testng-results.xsl"
            out="${basedir}/reporty-ng/index.html" processor="SaxonLiaison"
        >
            <param name="testNgXslt.outputDir"
                expression="${xslt-report-dir}" />
            <param name="testNgXslt.sortTestCaseLinks" expression="true" />
            <param name="testNgXslt.testDetailsFilter" 
                expression="FAIL,SKIP,PASS,CONF,BY_CLASS" />
            <param name="testNgXslt.showRuntimeTotals" expression="true" />
            <classpath refid="test.classpath" />
        </xslt>
    </target>
</project>

TestNG XML

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Automationsuite">
  <test name="demoTest">
    <classes>
      <class name="main.NewTest" />
    </classes>
  </test>
</suite>

Java代码

 public class NewTest {
   @Test
   public void testMethodOne() {
     Assert.assertTrue(true);
   }

   @Test
   public void testMethodTwo() {
     Assert.assertTrue(false);
   }

   @Test(dependsOnMethods={"testMethodTwo"})
   public void testMethodThree() {
     Assert.assertTrue(true);
  }
}

引导我伸出援手

您在 build.xml 文件中指定

 <xslt in="${basedir}/lib/testng.xml"

我预计我们通常会在基本目录中有 testng.xml 文件,在 lib 文件夹中有所有 jars。那么您是否也将 testng.xml 文件放在了 lib 文件夹中?

这个 link 有一些关于像您尝试过的那样生成 xslt 报告的信息。

谢谢, 穆拉利 G

我按照下面的link执行了代码。效果不错。

TestNG-XSLT