enabled和priority属性
本篇來繼續學習@Test下的注釋,這篇學習兩個屬性的基本使用。第一個是設置該條用例不被執行,第二個的作用是設置用例執行的優先順序。
1. 屬性enabled
在Testng中,如果方法前面添加了@Test注釋,然后沒有其他的屬性,那么默認這個用例會被自動運行。那么如果,我不想要某個方法運行呢?有些人第一反應就是,把這個方法前面的@Test給刪除或者注釋符號注銷該行。不可否認,這是一個方法,但是不明智。在@Test注釋中提供了一個enabled的屬性,讓我們臨時去修改該條用例不被執行。Enable屬性有兩個值true和false。
場景舉例:
在單元測試,或者接口測試中。我們一般一個類文件,會寫好幾個測試用例來測試這個方法或者這個接口。有時候,我們需要debug,不想要其中一個或者幾個用例執行,那么enabled就派上用場。例如,下面我不想讓test2用例執行。
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沒有被執行。這種應用,一般在寫測試用例,查找問題,區分干擾項的時候,經常用到。
2. 屬性priority
上面介紹了disabled一些用例執行。有時候,我們更希望,一個類文件下的測試用例按照我們設想的順序去執行,而不是默認按照方法名的字母排序去執行。@Test注釋中有一個屬性,叫priority支持設置用例的優先級。如果不帶這個屬性,默認priority是等于0,而且priority值越小,優先級越高。來看看下面的舉例。
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,運行一下,看看是不是這個效果。
關于enabled和priority屬性的基本使用方法就介紹到這里,實際應用中proority用到比較多。
---------------------
作者:Anthony_tester
來源:CSDN
原文:https://blog.csdn.net/u011541946/article/details/78483775
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
總結
以上是生活随笔為你收集整理的enabled和priority属性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是注入式攻击(2)
- 下一篇: linux-用户和群组-权限配置