本篇來繼續學習@Test下的註釋,這篇學習兩個屬性的基本使用。第一個是設置該條用例不被執行,第二個的做用是設置用例執行的優先順序。java
1. 屬性enabled單元測試
在Testng中,若是方法前面添加了@Test註釋,而後沒有其餘的屬性,那麼默認這個用例會被自動運行。那麼若是,我不想要某個方法運行呢?有些人第一反應就是,把這個方法前面的@Test給刪除或者註釋符號註銷該行。不能否認,這是一個方法,可是不明智。在@Test註釋中提供了一個enabled的屬性,讓咱們臨時去修改該條用例不被執行。Enable屬性有兩個值true和false。學習
場景舉例:測試
在單元測試,或者接口測試中。咱們通常一個類文件,會寫好幾個測試用例來測試這個方法或者這個接口。有時候,咱們須要debug,不想要其中一個或者幾個用例執行,那麼enabled就派上用場。例如,下面我不想讓test2用例執行。spa
1 package com.java.learn; 2 3 import org.testng.annotations.Test; 4 5 /** 6 * create by Anthony on 2017/10/31 7 */ 8 public class TestNG_Demo2 { 9 10 @Test 11 public void test1(){ 12 System.out.println("test1"); 13 } 14 15 @Test(enabled=false) 16 public void test2(){ 17 System.out.println("test2"); 18 } 19 20 @Test 21 public void test3(){ 22 System.out.println("test3"); 23 } 24 25 @Test 26 public void test4(){ 27 System.out.println("test3"); 28 } 29 }
運行結果顯示確實test2沒有被執行。這種應用,通常在寫測試用例,查找問題,區分干擾項的時候,常常用到。.net
2. 屬性prioritydebug
上面介紹了disabled一些用例執行。有時候,咱們更但願,一個類文件下的測試用例按照咱們設想的順序去執行,而不是默認按照方法名的字母排序去執行。@Test註釋中有一個屬性,叫priority支持設置用例的優先級。若是不帶這個屬性,默認priority是等於0,並且priority值越小,優先級越高。來看看下面的舉例。code
package com.java.learn; import org.testng.annotations.Test; /** * create by Anthony on 2017/10/31 */ public class TestNG_Demo2 { @Test(priority = 2) public void test1(){ System.out.println("test1"); } @Test(priority = 4) public void test2(){ System.out.println("test2"); } @Test(priority = 1) public void test3(){ System.out.println("test3"); } @Test public void test4(){ System.out.println("test4"); } }
上面四個測試用例,我設置的優先順序是test4->test3->test1->test2,運行一下,看看是否是這個效果。blog
關於enabled和priority屬性的基本使用方法就介紹到這裏,實際應用中proority用到比較多。
---------------------
做者:Anthony_tester
來源:CSDN
原文:https://blog.csdn.net/u011541946/article/details/78483775
版權聲明:本文爲博主原創文章,轉載請附上博文連接!排序