最近講到了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,但是本來該第二個執行的測試用例被跳過了。這就是跳過某些用例用到淀粉參數,是不是很簡單。
好了今天講解到這里了,喜歡的朋友關注我的公 眾 號喲,發布信息更早,專業講解測試技術掃 碼