最近讲到了TestNG,估计要废一些功夫去讲讲,而且为了深入了解,应该撸代码居多。大家应该按照以前我写的文章,配置好eclipse,也按照我敲的代码,一行一行的敲起来,才能深入理解。不要偷懒哟。今天这一章就要讲讲TestNG特定顺序执行测试用例以及跳过不执行某些测试用例的方法。老规矩,先建一个class,建的方法我就不重复了,以下是代码:
package cn.autotest;
import org.testng.annotations.Test;
public class Shunxu {
@Test(priority=3)
public void test3(){
System.out.print("这个方法虽然排第一,但是我是第三个被执行!\n");
}
@Test(priority=1)
public void test1(){
System.out.print("这个方法虽然排第二,但是我是第一个被执行!\n");
}
@Test(priority=2)
public void test2(){
System.out.print("这个方法虽然排第三,但是我是第二个被执行!\n");
}
}
执行结果为:
这个方法虽然排第二,但是我是第一个被执行!
这个方法虽然排第三,但是我是第二个被执行!
这个方法虽然排第一,但是我是第三个被执行!
PASSED: test1
PASSED: test2
PASSED: test3
=============================================
Default test
Tests run: 3, Failures: 0, Skips: 0
=============================================
仔细看代码的同学应该可以看到,这是按照priority后面参数的顺序执行的,而不是按照由上至下的顺序执行。通过priority,我们可以实行顺序执行。
讲过顺序,下面讲一下跳过某测试用例用到的参数。还是先看代码并执行。
package cn.autotest;
import org.testng.annotations.Test;
public class Skip {
@Test(priority=3)
public void test3(){
System.out.print("这个方法虽然排第一,但是我是第三个被执行!\n");
}
@Test(priority=1)
public void test1(){
System.out.print("这个方法虽然排第二,但是我是第一个被执行!\n");
}
@Test(priority=2,enabled=false)//注意这里,多了这个enabled
public void test2(){
System.out.print("这个方法虽然排第三,我本应该第二个被执行!但是我执行不了\n");
}
}
执行结果:
这个方法虽然排第二,但是我是第一个被执行!
这个方法虽然排第一,但是我是第三个被执行!
PASSED: test1
PASSED: test3
=============================================
Default test
Tests run: 2, Failures: 0, Skips: 0
=============================================
代码和顺序执行的代码仅仅多了一行enabled=false,但是本来该第二个执行的测试用例被跳过了。这就是跳过某些用例用到淀粉参数,是不是很简单。
好了今天讲解到这里了,喜欢的朋友关注我的公 众 号哟,发布信息更早,专业讲解测试技术扫 码