执行测试(Executing Tests)
测试用例使用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对象。
创建一个类 (Create a Class)
在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;
}
}
创建测试用例类 (Create Test Case Class)
创建一个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());
}
}
Create testng.xml
接下来,让我们在C:\》TestNG_WORKSPACE创建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编译测试用例。
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
===============================================