原文链接: Test execution order
原文日期: 2012年12月06日
翻译日期: 2014年7月2日
翻译人员: 铁锚

说明: Junit4.11版本及以后才支持,建议升级到最新版本.

按照设计原则,JUnit是不指定测试方法调用执行顺序的。
目前为止,这些方法只是简单地按照反射(reflection) API返回的顺序执行。
但是,使用JVM默认提供的排序是很不明智的,因为Java平台没有指定任何有规律的顺序,
而事实上JDK 7可能会返回一个随机的顺序。
当然,精心编写的测试代码之间并不需要假定任何执行顺序,但有时候,但在某些平台上一个可预测的失败总比随机的失败要好。

从4.11版本开始,JUnit将默认使用一个确定的,但不可预测的顺序( MethodSorters.DEFAULT )。
要改变测试执行的顺序只需要在测试类(class)上使用 @FixMethodOrder 注解,并指定一个可用的MethodSorter即可:

@FixMethodOrder(MethodSorters.JVM) : 保留测试方法的执行顺序为JVM返回的顺序。每次测试的执行顺序有可能会所不同。

@FixMethodOrder(MethodSorters.NAME_ASCENDING) :根据测试方法的方法名排序,按照词典排序规则(ASC,从小到大,递增)。

转载于:https://www.cnblogs.com/lanzhi/p/6467006.html

Junit指定测试执行顺序相关推荐

  1. junit 测试执行顺序_JUnit 5中的测试执行顺序

    junit 测试执行顺序 一般实践认为,自动化测试应能够独立运行且无特定顺序,并且测试结果不应依赖于先前测试的结果. 但是在某些情况下,可以证明特定的测试执行顺序是正确的,尤其是在集成或端到端测试中. ...

  2. JUnit 5中的测试执行顺序

    一般实践认为,自动化测试应能够独立运行且无特定顺序,并且测试结果不应依赖于先前测试的结果. 但是在某些情况下,可以证明特定的测试执行顺序是正确的,尤其是在集成或端到端测试中. 默认情况下,在JUnit ...

  3. Junit的先后执行顺序

    如果我们希望设置先后执行顺序,可以使用添加注解FixMethodOrder来设置 了解下FixMethodOrder的枚举值: 1:NAME_ASCENDING:按照方法名的toString()函数结 ...

  4. 优先级 与 测试执行顺序

    关于执行测试优先级发现一个很搞笑的问题,理论上优先级较低的测试用例反而得以提前执行. 主要的原因有两个: 一是它简单,一眼就可以看出程序是对的还是错的: 二是优先级高的测试用例执行受阻,优先级高的测试 ...

  5. Go基础系列:指定goroutine的执行顺序

    Go channel系列: channel入门 为select设置超时时间 nil channel用法示例 双层channel用法示例 指定goroutine的执行顺序 当关闭一个channel时,会 ...

  6. python装饰器执行顺序_python unittest单元测试框架-3用例执行顺序、多级目录、装饰器、fixtures...

    1.用例执行顺序 unittest默认会按照ascii码的顺序,依次执行.类名--方法名排序,使用discover也是默认排序.如果不想使用默认排序,就使用testsuite测试集的方式. impor ...

  7. 排队器拦截_过滤器(Filter)和拦截器(Interceptor)的执行顺序和区别

    首先建立一个SpringBoot工程,增加一个IndexController供测试使用. @Controller public class IndexController { @GetMapping( ...

  8. Pytest Hooks方法之pytest_collection_modifyitems改变测试用例执行顺序

    pytest默认执行用例顺序是根据项目下文件名称按ascii码去收集运行的,文件里的用例是从上往下按顺序执行的. pytest_collection_modifyitems 这个函数顾名思义就是收集测 ...

  9. t-sql的执行顺序

    select * from  protype where id in (select top {0} id from (select top {1} id from protype where tid ...

最新文章

  1. 2018/8/26 PSO-based Clustering Techniques to Solve Multimodal Optimization Problems: A Survey
  2. 资源 | 5月Python好文TOP 10新鲜出炉,你都看了吗?
  3. TC264信标组 双车组 资源规划 库函数示例
  4. MPU6050姿态融合(转载)
  5. mysql数据库从删库到跑路之mysql多表查询
  6. 程序员面试100题之十四:强大的和谐
  7. matlab立体坐标定位_【半导光电】基于光电探测器的激光章动定位算法(二)
  8. java 百度poi_Android应用中使用百度地图API之POI(三)
  9. 模拟ios_王者荣耀策划Donny:安卓IOS今年或实现互通!模拟战一周一更新
  10. Andorid视觉新冲击-Material design语言
  11. Vant Weapp小程序蹲坑之事件名称问题及解决方案
  12. 怎么看外文文献的影响因子_怎么看文章的影响因子?
  13. 机器学习原来这么有趣!第三章:图像识别【鸟or飞机】?深度学习与卷积神经网络
  14. python读取tif图片报错
  15. 为什么只有涨价才能救小米?
  16. “git pull”如何强制覆盖本地文件?
  17. iOS开发中的零碎知识点笔记 韩俊强的博客
  18. AIR开发ios游戏总结
  19. 一文读懂MEMS技术4大主要分类及应用领域
  20. 配置AAA认证和授权

热门文章

  1. 界面-工作者线程结构之:异步委托调用
  2. PySide教程:一个简单的点击“.NET研究”按钮示例
  3. vs2005打开vs2008
  4. 深入学习Heritrix---解析CrawlController
  5. 入门代码教程第一节 如何:定义服务协定
  6. js等待5秒后执行_Python+selenium自动化之等待
  7. npm install react-native-video --save
  8. JAVA SE 学习day_10:集合、聊天室练习最终版
  9. python输出数据格式_这串数据有什么方法用python输出我想要的格式?
  10. Windows自带Android模拟器启动失败