TestNG执行测试 - TestNG教程

使用TestNG类执行测试用例。这个类的主入口点在TestNG的框架运行测试。用户可以创建自己的TestNG的对象,并调用它以许多不同的方式:

  • 在现有的testng.xml

  • 合成testng.xml,完全从Java创建

  • 直接设定测试类

您还可以定义哪些群体包括或排除,分配参数,命令行参数:

  • -d outputdir: 指定输出目录

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

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

  • -sourcedir src1;src2: ; 分隔源目录列表(只有当使用的javadoc注释)

  • -target

  • -groups

  • -testrunfactory

  • -listener

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

创建一个类

  • 创建一个Java类进行测试为 MessageUtil.java 在 C: > TestNG_WORKSPACE
/*
* 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()

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

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

创建一个Java类文件名 SampleTest.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。这个文件可以很容易地描述所有的测试套件和它们的参数在一个文件中,你可以检查你的代码库或e-mail给同事。这也使得它容易提取测试或分裂的几个运行时配置的子集(例如,TestNG的database.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
===============================================