public class FirstTest {
@Test(priority = 2)
public void testFirst(){
System.err.println("first test");
}
}
public class SecondTest {
@Test
public void testFirst(){
System.err.println("second test");
}
}
public class ThirdTest {
@Test(priority = 1)
public void testFirst() {
System.err.println("third test");
}
}
执行结果:
second test
third test
first test
该注解对同一个类的多个方法也是适用的,比如:
public class FirstTest {
@Test(priority=2)
public void testFirst2(){
System.err.println("first test2");
}
@Test(priority=3)
public void testFirst3(){
System.err.println("first test3");
}
@Test(priority=1)
public void testFirst(){
System.err.println("first test");
}
}
执行结果:
first test
first test2
first test3
那么我们就会想如果每个类中都有多个方法,且优先级是不同的,那么执行顺序又是怎么样的?比如:
public class FirstTest {
@Test(priority=2)
public void testFirst2(){
System.err.println("first test2");
}
@Test
public void testFirst3(){
System.err.println("first test3");
}
@Test(priority=1)
public void testFirst(){
System.err.println("first test1");
}
}
public class SecondTest {
@Test
public void testFirst(){
System.err.println("second test");
}
}
public class ThirdTest {
@Test(priority = 1)
public void testFirst() {
System.err.println("third test");
}
@Test(priority = 2)
public void testFirst2() {
System.err.println("third test 2");
}
}
运行结果:
first test3
second test
first test1
third test
first test2
third test 2
public class FirstTest {
@Test(dependsOnGroups={"second"})
public void testFirst(){
System.err.println("first test");
}
}
public class SecondTest {
@Test(groups="second",dependsOnGroups={"third"})
public void testFirst(){
System.err.println("second test");
}
public class ThirdTest {
@Test(groups="third")
public void testFirst() {
System.err.println("third test");
}
}
执行结果:
third test
second test
first test
同样该方法适用于类的方法,比如:
public class FirstTest {
@Test(dependsOnGroups={"first"},groups="second")
public void testFirst2(){
System.err.println("first test2");
}
@Test(groups="first")
public void testFirst3(){
System.err.println("first test3");
}
@Test(dependsOnGroups={"second"})
public void testFirst(){
System.err.println("first test1");
}
}
执行结果:
first test3
first test2
first test1
4、dependsOnMethods
该方法只适用于同一个类的不同方法间,不能跨类适用。举例如:
public class Third10Test {
@Test(dependsOnMethods = { "testFirst3" })
public void testFirst1() {
System.err.println("third10 test1");
}
@Test
public void testFirst2() {
System.err.println("third10 test2");
}
@Test(dependsOnMethods = { "testFirst2" })
public void testFirst3() {
System.err.println("third10 test3");
}
}
执行结果:
third10 test2
third10 test3
third10 test1
既然是讨论执行顺序问题,那么用例肯定是批量执行的,批量执行的方法有mvn test、直接运行testng.xml文件,其中直接运行testng.xml文件的效果与pom文件中配置执行testng.xml效果是一样,所以本次只讨论mvn test 批量运行方式。一、用例准备1、 测试用例编写一些测试用例,单纯为了测试,内容只进行输入,没有任何逻辑。 public class FirstTest { @Test public void testFirst(){ .