本篇来继续学习@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值越小,优先级越高。来看看下面的举例。

  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(priority = 2)
  11. public void test1(){
  12. System.out.println("test1");
  13. }
  14.  
  15. @Test(priority = 4)
  16. public void test2(){
  17. System.out.println("test2");
  18. }
  19.  
  20. @Test(priority = 1)
  21. public void test3(){
  22. System.out.println("test3");
  23. }
  24.  
  25. @Test
  26. public void test4(){
  27. System.out.println("test4");
  28. }
  29. }

上面四个测试用例,我设置的优先顺序是test4->test3->test1->test2,运行一下,看看是不是这个效果。

关于enabled和priority属性的基本使用方法就介绍到这里,实际应用中proority用到比较多。
---------------------
作者:Anthony_tester
来源:CSDN
原文:https://blog.csdn.net/u011541946/article/details/78483775
版权声明:本文为博主原创文章,转载请附上博文链接!

enabled和priority属性的更多相关文章

  1. input 中的enabled与disabled属性

    <style type="text/css"> *{ padding:; margin:; list-style-type: none; box-sizing:bord ...

  2. OpenStack计费项目Cloudkitty系列详解(一)

    云计算是一种按需付费的服务模式,虽然OpenStack前期在计量方面走了些“弯路”,但现在的ceilometer.gnocchi.aodh.panko项目的稳步并进算是让其峰回路转.然而,目前来看Op ...

  3. Qt之属性系统

    简述 Qt提供一个类似于其它编译器供应商提供的复杂属性系统(Property System).然而,作为一个编译器和平台无关的库,Qt不能够依赖于那些非标准的编译器特性,比如:__property或者 ...

  4. Qt属性系统(Qt Property System)

    Qt提供了巧妙的属性系统,它与某些编译器支持的属性系统相似.然而,作为平台和编译器无关的库,Qt不能够依赖于那些非标准的编译器特性,比如__property 或者 [property].Qt的解决方案 ...

  5. android AndroidManifest.xml 属性详细解析

    一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...

  6. [WPF系列]-数据邦定之DataTemplate 根据对象属性切换模板

      引言 书接上回[WPF系列-数据邦定之DataTemplate],本篇介绍如何根据属性切换模板(DataTemplate)   切换模板的两种方式:   使用DataTemplateSelecto ...

  7. 笔记:Spring Cloud Hystrix Command属性

    主要用来控制 HystrixCommand 命令的行为,主要有下面5种类型的属性配置: execution配置 该配置前缀为 hystrix.command.default execution.iso ...

  8. C#基础巩固之属性

    平常写代码,类中最长用到的字段,属性,方法.虽然经常用属性,但是对属性的认知只是停留在{get;set;}上,也知道可以逻辑判断,只读什么的,没有深入研究: 此篇随笔用来做做属性的文章,加深下认知,文 ...

  9. Hystrix 常用属性配置

    配置参数 默认值 说明 命令-执行属性配置 hystrix.command.default.execution.isolation.strategy THREAD 配置隔离策略,有效值 THREAD, ...

随机推荐

  1. Python并行编程(一):基本概念

    1.线程和进程 进程是应用程序的一个执行实例,比如,在桌面上双击浏览器将会运行一个浏览器.线程是一个控制流程,可以在进程内与其他活跃的线程同时执行.控制流程指的是顺序执行一些机器指令.进程可以包含多个 ...

  2. 前端 html border-right: 1px solid red;

    后边框 加粗 实体线 红色 border-right: 1px solid red;

  3. FindBugs——帮助查找隐藏的bug

    FindBugs 1.什么是FindBugs FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题.有了静态分析工具,就可以在不实际运行程序 ...

  4. matplotlib中的颜色及线条控制

    出自 http://www.cnblogs.com/darkknightzh/p/6117528.html 参考网址: http://stackoverflow.com/questions/22408 ...

  5. C++学习笔记--友元

    C++控制对类对象私有部分的访问,在外部无法直接访问类的私有或保护成员.通常,公有类方法提供唯一的访问途径.有时这种限制太严格,不适合特定的编程问题.所以C++提供了友元这种形式,通过让函数或类成为类 ...

  6. C++学习笔记-const和static

    const 1.使用const来定义常量 const int num = 10; //应该在声明时进行初始化,否则该常量的值是不确定的,而且无法修改 2.const与指针 指向常量的指针(const修 ...

  7. (转)C语言中Exit函数的使用

    C语言中Exit函数的使用 exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如 ...

  8. python全栈开发从入门到放弃之递归函数的调用

    1.递归效率低,需要在进入下一次递归时保留当前的状态,见51cto博客 解决方法是尾递归,即在函数的最后一步(而非最后一行)调用自动但是python又没有尾递归,且对递归层级做了限制 必须有一个明确的 ...

  9. SuperObject使用

    SuperObject SuperObject第三方控件包,试用了下并编写了个DEMO,发现还是蛮强大.废话 少说,看看下面的代码就知道其强大: 1.JSON原始数据 {   "name&q ...

  10. PKU 3020 Antenna Placement(拆点+最小边覆盖)(最大匹配)

    题目大意:原题链接 一个矩形中,有N个城市’*’,现在这n个城市都要覆盖无线,若放置一个基站,那么它至多可以覆盖相邻的两个城市.问至少放置多少个基站才能使得所有的城市都覆盖无线? 提示:看清楚题目,' ...