1. 目前组织test case的实践
将所有测试方法放在Common Task的类中,然后根据test case的测试逻辑,创建对应的测试类,然后用TestNG运行这些测试类。
目前实践的实例代码如下:
包含所有测试方法CommonTasks文件:
import java.util.Random;
public class CommonTasks {
public int method1(int max) {
System.out.println("Run method1()");
return new Random().nextInt(max);
}
public int method2(int max) {
System.out.println("Run method2()");
return new Random().nextInt(max);
}
}
测试类TestCase1:先执行method1,后执行method2
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class TestCase1 {
CommonTasks task;
@BeforeClass
public void setUp() {
task = new CommonTasks();
}
@Test
@Parameters("max")
public void method1(int max) {
Assert.assertEquals(task.method1(max), 0, "Failed");
}
@Test(dependsOnMethods = "method1")
@Parameters("max")
public void method2(int max) {
Assert.assertEquals(task.method2(max), 0, "Failed");
}
}
测试类TestCase2:先执行method2,后执行method1
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class TestCase2 {
CommonTasks task;
@BeforeClass
public void setUp() {
task = new CommonTasks();
}
@Test(dependsOnMethods = "method2")
@Parameters("max")
public void method1(int max) {
Assert.assertEquals(task.method1(max), 0, "Failed");
}
@Test
@Parameters("max")
public void method2(int max) {
Assert.assertEquals(task.method2(max), 0, "Failed");
}
}