📜  TestNG-执行测试

📅  最后修改于: 2020-11-10 04:58:27             🧑  作者: Mango


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

  • 在现有的testng.xml上。

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

  • 通过直接设置测试类。

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

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

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

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

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

  • -目标

  • -testrunfactory

  • -听者

在下面的示例中,我们将在现有的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检查条件。

C:\> TestNG_WORKSPACE中创建一个名为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

接下来,让我们在C:\> TestNG_WORKSPACE中创建testng.xml文件,以执行测试用例。此文件以XML捕获您的整个测试。通过此文件,可以轻松地在一个文件中描述所有测试套件及其参数,您可以在代码存储库中检入或通过电子邮件发送给同事。它还使提取测试的子集或拆分几个运行时配置变得容易(例如,testngdatabase.xml将仅运行行使数据库的测试)。




   
      
         
      
   
    

使用javac编译测试用例。

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

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

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