Test execution order
刚开始的时候,JUnit并没有规定测试方法的调用执行顺序。方法通过映射的API返回的顺序进行调用。然 而,使用JVM顺序是不明智的,因为Java平台没有规定任何特定的顺序,事实上JDK7或多或少的返回的是随机顺序。大部分写的好的测试代码不会假定一 个顺序,在特定的平台上一个可预言的失败比一个随机的失败更好。
从4.11版本开始,如果想要改变测试执行顺序,只要简单的加一个 @FixMethodOder 注释就可以。
目前比较常见的有三种:
@FixMethodOrder(MethodSorters.DEFAULT):默认顺序。由方法名的哈希码值决定执行顺序。由于哈希码的生成和OS有关,所以不用的OS可能会出现不一样的执行顺序。在某一操作系统上,多次执行的顺序不变。
@FixMethodOrder(MethodSorters.JVM):由JVM来决定执行顺序。当然执行顺序随着每一次的测试可能会有所不用。
@FixMethodOrder(MethodSorters.NAME_ASCENDING):由方法名的字典顺序来决定执行顺序。
import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runners.MethodSorters; //@FixMethodOrder(MethodSorters.DEFAULT) //@FixMethodOrder(MethodSorters.NAME_ASCENDING) //@FixMethodOrder(MethodSorters.JVM) public class TestExecuteOrder { @Test public void test03Third() { System.out.println("test03"); } @Test public void test01First() { System.out.println("test01"); } @Test public void test02Second() { System.out.println("test02"); } }
执行结果如下
1.什么都不加:
test02
test01
test03
2. @FixMethodOrder(MethodSorters.DEFAULT) :
test02
test01
test03
3. @FixMethodOrder(MethodSorters.NAME_ASCENDING):
test01
test02
test03
4. @FixMethodOrder(MethodSorters.JVM):
test03
test01
test02
或者
test02
test01
test03
转载于:https://www.cnblogs.com/miniren/p/4638514.html
Test execution order相关推荐
- Execution Order of Event Functions, unity 3d 事件函数的执行顺序
vs_Community.exe --layout "F:\linson\vs2017 comm\offline" --lang zh-CN 学习unity3d,感觉事件顺序很重要 ...
- Dalvik Virtual Execution with SmaliVM
Sometimes it's useful to know what code does without executing it. You could read the code with your ...
- Tensorrt一些优化技术介绍
Tensorrt一些优化技术介绍 Figure 1. A quantizable AveragePool layer (in blue) is fused with a DQ layer and a ...
- AI基础架构Pass Infrastructure
AI基础架构Pass Infrastructure • Operation Pass o OperationPass : Op-Specific o OperationPass : Op-Agnost ...
- TensorFlow Frontend前端
TensorFlow Frontend前端 TensorFlow前端有助于将TensorFlow模型导入TVM. Supported versions: • 1.12 and below Tested ...
- javascript 堆栈_JavaScript调用堆栈-它是什么以及为什么它是必需的
javascript 堆栈 The JavaScript engine (which is found in a hosting environment like the browser), is a ...
- 编程术语_伟大的编程术语烘烤
编程术语 by Preethi Kasireddy 通过Preethi Kasireddy 伟大的编程术语烘烤 (The Great Programming Jargon Bake-off) Impe ...
- Python并发编程实例教程
有关Python中的并发编程实例,主要是对Threading模块的应用,文中自定义了一个Threading类库. 一.简介 我们将一个正在运行的程序称为进程.每个进程都有它自己的系统状态,包含内存状态 ...
- TensorFlow 2.2.0-rc0,这次更新让人惊奇!
AI编辑:我是小将 刚刚谷歌在TensorFlow 开发者峰会上发布了 TensorFlow 2.2 版,2.2版本有很多地方的更新,我觉得可能两点会让大家欣喜若狂: 1. 增加同步BN层 同步BN层 ...
最新文章
- 错误: (串列)对象不能强制改变成'double'解决办法
- index 4 is out of bounds for dimension 1 with size 4
- 看oracle 的数据库位数
- swoole的安装(已经做测试成功)
- Eclipse里PHP built-in server在操作系统中的实际位置
- iPhone12详细拆解报告出炉!(附主要器件清单)
- 大数据平台容量评估_大数据平台
- ubuntu 64 12.04 oracle,ubuntu server 12.04 x86_64 下安装oracle xe 11 x86_64
- 信息学奥赛一本通(1109:开关灯)
- ccie计算机网络英语,最新版CCIE Voice 语音方向 WOLF实验全套语音课程(含版本)...
- 滤镜应用——制作车辆行驶效果
- hdu-1542 Atlantis(离散化+线段树+扫描线算法)
- vb6 英文和中文长度不同_PPT里中文排版就是没英文好看?你怕是假酒喝多了…...
- RGBA 与 RGB 色彩模式差异
- Tek DPO2024B示波器和电流探头A622的使用
- 最新小程序反编译详细教程,亲测可用
- Mysql之分组查询
- Android Studio基础输入文本框EditText
- 6.10力扣 10号出去逛街了,11号补上! 打印n位数
- 让大数据告诉你,网红“小龙虾”究竟有多火
热门文章
- Dynamics AX 2009 升级PreSynchnoize时的无反应的解决
- explorer.exe应用程序错误说明 0X000000该内存不能为read的解决方法
- sql avg函数使用格式_SQL AVG-SQL平均函数用语法示例解释
- java通用象棋游戏_在通用国际象棋界面周围模拟GraphQL包装器
- arch linux安装_如何从头开始安装Arch Linux
- RSA加密算法破解及原理
- java 方法里面定义接口_java – 当接口A在其方法签名中定义接口B时
- 1076 Forwards on Weibo
- (C++)1037 在霍格沃茨找零钱的两种解法
- java培训班如何选择