当前位置: 首页 > 文档资料 > TestNG 中文教程 >

JUnit Reports

优质
小牛编辑
129浏览
2023-12-01

JUnit是最初被许多Java应用程序用作单元测试框架的单元框架之一。 默认情况下,JUnit测试会为其测试执行生成简单的报告XML文件。 然后,可以使用这些XML文件根据测试要求生成任何自定义报告。 我们还可以使用XML文件生成HTML报告。 Ant有这样一个实用程序任务,它将这些JUnit XML文件作为输入并生成HTML报告。

默认情况下,TestNG为任何测试执行生成JUnit XML报告(在test-output文件夹中)。 我们可以使用这些XML报告文件作为生成JUnit HTML报告的输入。 让我们举个例子。

创建测试用例类 (Create Test Case Class)

C:\》 TestNG_WORKSPACE创建一个java类,比如SampleTest.java

import org.testng.Assert;
import org.testng.annotations.Test;
public class SampleTest {
   @Test
   public void testMethodOne() {
      Assert.assertTrue(true);
   }
   @Test
   public void testMethodTwo() {
      Assert.assertTrue(false);
   }
   @Test(dependsOnMethods = {"testMethodTwo"})
   public void testMethodThree() {
      Assert.assertTrue(true);
   }
}

前面的测试类包含三个测试方法, testMethodOnetestMethodThree将在执行时传递,而testMethodTwo通过将false布尔值传递给Assert.assertTrue方法而失败,该方法用于测试中的真值条件。

Create testng.xml

C:\》 TestNG_WORKSPACE创建testng.xml以执行测试用例。

<?xml version = "1.0" encoding = "UTF-8"?>
<suite name = "Simple Suite">
   <test name = "Simple test">
      <classes>
         <class name = "SampleTest" />
      </classes>
   </test>
</suite>

使用javac编译SampleTest类。

C:\TestNG_WORKSPACE>javac SampleTest.java

现在,运行testng.xml。

C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml

验证输出。

===============================================
   Simple Suite
   Total tests run: 3, Failures: 1, Skips: 1
===============================================

现在我们已经从上面的执行中获得了JUnit XML报告,让我们创建一个简单的Ant构建配置XML文件来生成测试执行的HTML报告。

C:\》 TestNG_WORKSPACE文件夹下创建一个名为build.xml的新文件。

<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。

打开命令提示符窗口并转到命令提示符下的C:\> TestNG_WORKSPACE目录并运行命令:

C:\TestNG_WORKSPACE> ant

执行后,将在配置的目录/ html-report/Junit中生成JUnit HTML报告。 在默认Web浏览器上打开名为junit-noframes.html的文件。 您将看到以下HTML报告 -

JUnit报告

在这里,我们已经了解了如何使用TestNG生成的JUnit XML报告并使用Ant生成HTML报告。 可以使用此方法生成两种报告: framesno-frames

如果使用框架配置报告生成,则会为每个类生成多个文件,主报告将通过链接连接到它们。 no-frames报告由一个文件组成,其中包含测试执行的所有结果。 这可以通过为Ant中的报告任务的format属性提供相应的值来配置。