TestNG - 执行测试



测试用例使用TestNG类执行。此类是 TestNG 框架中运行测试的主要入口点。用户可以创建自己的 TestNG 对象并以多种不同的方式调用它,例如:

  • 在现有的 testng.xml 上。

  • 在完全从 Java 创建的合成 testng.xml 上。

  • 通过直接设置测试类。

您还可以定义要包含或排除的组,分配参数等。命令行参数为:

  • -d outputdir:指定输出目录。

  • -testclass class_name:指定一个或多个类名。

  • -testjar jar_name:指定包含测试的 jar 文件。

  • -sourcedir src1;src2:用分号分隔的源目录列表(仅在使用 javadoc 注解时使用)。

  • -target

  • -groups

  • -testrunfactory

  • -listener

在下面的示例中,我们将创建一个 TestNG 对象和一个现有的 testng.xml。

创建类

创建一个要测试的 Java 类,例如MessageUtil.java,位于/work/testng/src目录下。

/*
* This class prints the given message on console.
*/

public class MessageUtil {

   private String message;

   //Constructor
   //@param message to be printed
   public MessageUtil(String message) {
      this.message = message;
   }

   // prints the message
   public String printMessage() {
      System.out.println(message);
      return message;
   }
}

创建测试用例类

  • 创建一个 Java 测试类,例如SampleTest.java

  • 在您的测试类中添加一个测试方法 testPrintMessage()。

  • 在 testPrintMessage() 方法上添加注解 @Test。

  • 实现测试条件并使用 TestNG 的 assertEquals API 检查条件。

/work/testng/src目录下创建一个名为SampleTest.java的 Java 类文件。

import org.testng.Assert;
import org.testng.annotations.Test;

public class SampleTest {

   String message = "Hello World";
   MessageUtil messageUtil = new MessageUtil(message);

   @Test
   public void testPrintMessage() {
      Assert.assertEquals(message, messageUtil.printMessage());
   }
}

创建 testng.xml

接下来,让我们在/work/testng/src目录下创建 testng.xml 文件来执行测试用例。此文件以 XML 格式捕获您的所有测试。此文件使您可以轻松地在单个文件中描述所有测试套件及其参数,您可以将其检入代码存储库或发送给同事。它还可以轻松地提取测试子集或拆分多个运行时配置(例如,testngdatabase.xml 将仅运行测试您的数据库的测试)。

<?xml version = "1.0" encoding = "UTF-8"?>

<suite name = "Sample test Suite">
   <test name = "Sample test">
      <classes>
         <class name = "SampleTest" />
      </classes>
   </test>
</suite>

使用 javac 编译测试用例。

/work/testng/src$ javac MessageUtil.java SampleTest.java

现在,运行 testng.xml,它将运行在<test>标签中定义的测试用例。

/work/testng/src$ java org.testng.TestNG testng.xml

验证输出。

Hello World

===============================================
Sample test Suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================
广告