TestNG - 执行测试

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

  • 在现有的testng.xml上.

  • 在完全由Java创建的综合testng.xml上.

  • By直接设置测试类.

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

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

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

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

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

  • -target

  • -groups

  • -testrunfactory

  • -listener

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

创建一个类

在 C:\> TestNG_WORKSPACE 中创建一个要测试的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;
   }   
}

创建测试用例类

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

  • 添加测试方法testPrintMessage ()到您的测试类.

  • 向方法testPrintMessage()添加注释@Test.

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

创建一个名为SampleTest.java的java类文件在 C:\> TestNG_WORKSPACE .

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

接下来,让我们创建testng.xml文件在 C:\> TestNG_WORKSPACE 中,以执行测试用例.此文件以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编译测试用例.

C:\TestNG_WORKSPACE>javac MessageUtil.java SampleTest.java

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

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

验证输出.

Hello World

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