本篇来继续学习@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
版权声明:本文为博主原创文章,转载请附上博文连接!排序