有时,您可能需要以特定顺序调用测试用例中的方法,或者您可能希望在方法之间共享一些数据和状态。TestNG 支持这种依赖关系,因为它支持测试方法之间显式依赖关系的声明。
TestNG 允许您指定依赖项 -
要测试的java类
public class MessageUtil {private String message;// Constructor// @param message to be printedpublic MessageUtil(String message) {this.message = message;}// prints the messagepublic String printMessage() {System.out.println(message);return message;}// add "Hi!" to the messagepublic String salutationMessage() {message = "Hi!" + message;System.out.println(message);return message;}
}
测试案例
import org.testng.Assert;
import org.testng.annotations.Test;
public class DependencyTestUsingAnnotation {
String message = "Manisha";
MessageUtil messageUtil = new MessageUtil(message);@Testpublic void testPrintMessage() {System.out.println("Inside testPrintMessage()");message = "Manisha";Assert.assertEquals(message, messageUtil.printMessage());}@Test(dependsOnMethods = { "initEnvironmentTest" })public void testSalutationMessage() {System.out.println("Inside testSalutationMessage()");message = "Hi!" + "Manisha";Assert.assertEquals(message, messageUtil.salutationMessage());}@Testpublic void initEnvironmentTest() {System.out.println("This is initEnvironmentTest");}
}
输出结果
This is initEnvironmentTest
Inside testPrintMessage()
Manisha
Inside testSalutationMessage()Hi!Manisha
===============================================
Suite1
Total tests run: 3, Failures: 0, Skips: 0
===============================================
您还可以拥有依赖于整个组的方法。让我们举一个例子来证明这一点。
创建一个要测试的java类,比如说, MessageUtil.java 在 /work/testng/src.
public class MessageUtil {private String message;// Constructor// @param message to be printedpublic MessageUtil(String message) {this.message = message;}// prints the messagepublic String printMessage() {System.out.println(message);return message;}// add "Hi!" to the messagepublic String salutationMessage() {message = "Hi!" + message;System.out.println(message);return message;}
}
创建测试用例类
创建一个名为的java类文件 DependencyTestUsingAnnotation.java 在 /work/testng/src.
import org.testng.Assert;
import org.testng.annotations.Test;
public class DependencyTestUsingAnnotation {String message = "Manisha";MessageUtil messageUtil = new MessageUtil(message);@Test(groups = { "init" })public void testPrintMessage() {System.out.println("Inside testPrintMessage()");message = "Manisha";Assert.assertEquals(message, messageUtil.printMessage());}@Test(dependsOnGroups = { "init.*" })public void testSalutationMessage() {System.out.println("Inside testSalutationMessage()");message = "Hi!" + "Manisha";Assert.assertEquals(message, messageUtil.salutationMessage());}@Test(groups = { "init" })public void initEnvironmentTest() {System.out.println("This is initEnvironmentTest");}
}
验证输出
This is initEnvironmentTest
Inside testPrintMessage()
Manisha
Inside testSalutationMessage()Hi!Manisha
===============================================
Suite1
Total tests run: 3, Failures: 0, Skips: 0
===============================================
上一篇:OpenMP并行计算
下一篇:XHTML 简介