Testng 简明教程

TestNG - Executing Tests

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

  1. On an existing testng.xml.

  2. 对于完全由 Java 创建的合成 testng.xml。

  3. 通过直接设置测试类。

你还可以定义要包括或排除哪些组、分配参数等。命令行参数为:

  1. -d outputdir:指定输出目录。

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

  3. -testjar jar_name:指定包含测试的 jar。

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

  5. -target

  6. -groups

  7. -testrunfactory

  8. -listener

我们将在下面的示例中使用现有的 testng.xml 创建 TestNG 对象。

Create a Class

/work/testng/src 中创建要测试的 java 类,比如 MessageUtil.java

/*
* 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;
   }
}

Create Test Case Class

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

  2. 将 testPrintMessage() 测试方法添加到你的测试类。

  3. 在方法 testPrintMessage() 中添加一个注释 @Test。

  4. 实现测试条件,并使用 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());
   }
}

Create 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
===============================================