使用 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执行了代码。效果不错。
在命令提示符下,当我运行使用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执行了代码。效果不错。