创建 testng.xml
在中创建 testng.xml /work/testng/src 执行测试用例。
<?xml version = "1.0" encoding = "UTF-8"?>
<suite name = "Simple Suite">
<test name = "Simple test">
<classes>
<class name = "SampleTest" />
</classes>
</test>
</suite>
使用 javac 编译 SampleTest 类。
/work/testng/src$ javac SampleTest.java
现在,运行 testng.xml。
/work/testng/src$ java org.testng.TestNG testng.xml
验证输出。
===============================================
Simple Suite
Total tests run: 3, Failures: 1, Skips: 1
===============================================
现在我们已经从上面的执行中获得了 JUnit XML 报告,让我们创建一个简单的 Ant 构建配置 XML 文件来为测试执行生成一个 HTML 报告。
在下面创建一个名为 build.xml 的新文件 /work/testng/src 文件夹。
<project name = "TestNG_WORKSPACE" default = "junit-report" basedir = ".">
<!-- Sets the property variables to point to respective directories -->
<property name = "junit-xml-dir" value="${basedir}/test-output/junitreports"/>
<property name = "report-dir" value="${basedir}/html-report" />
<!-- Ant target to generate html report -->
<target name = "junit-report">
<!-- Delete and recreate the html report directories -->
<delete dir = "${report-dir}" failonerror="false"/>
<mkdir dir = "${report-dir}" />
<mkdir dir = "${report-dir}/Junit" />
<!-- Ant task to generate the html report.
todir - Directory to generate the output reports
fileset - Directory to look for the junit xml reports.
report - defines the type of format to be generated.
Here we are using "noframes" which generates a single html report.
-->
<junitreport todir = "${report-dir}/Junit">
<fileset dir = "${junit-xml-dir}">
<include name = "**/*.xml" />
</fileset>
<report format = "noframes" todir = "${report-dir}/Junit" />
</junitreport>
</target>
</project>
前面的 XML 定义了一个简单的 Ant build.xml 文件,该文件具有名为 junit-report 的特定 Ant 目标,该目标在执行时生成 JUnit 报告。目标在目录 test-output/junitreports 下查找 JUnit 报告 XML 文件。对于 Ant 配置文件,要执行的默认目标配置为 junit-report。
打开命令提示符窗口,进入命令提示符中的/work/testng/src目录,运行命令:
执行后,将在配置的目录 /html-report/Junit 中生成 JUnit HTML 报告。在默认 Web 浏览器上打开名为 junit-noframes.html 的文件。您将看到以下 HTML 报告 -
在这里,我们已经看到了如何使用 TestNG 生成的 JUnit XML 报告并使用 Ant 生成 HTML 报告。使用此方法可以生成两种类型的报告:frames 和 no-frames.
如果报表生成配置有框架,则每个类都会生成多个文件,主报表将通过链接连接到它们。一种no-frames报告由单个文件组成,其中包含测试执行的所有结果。这可以通过为 Ant 中报告任务的格式属性提供相应的值来配置。