JUnit 执行顺序
2015-08-21 18:02
267 查看
说明: 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,从小到大,递增)。
按照设计原则,JUnit是不指定测试方法调用执行顺序的。
目前为止,这些方法只是简单地按照反射(reflection) API返回的顺序执行。
但是,使用JVM默认提供的排序是很不明智的,因为Java平台没有指定任何有规律的顺序,
而事实上JDK 7可能会返回一个随机的顺序。
当然,精心编写的测试代码之间并不需要假定任何执行顺序,但有时候,但在某些平台上一个可预测的失败总比随机的失败要好。
从4.11版本开始,JUnit将默认使用一个确定的,但不可预测的顺序(
MethodSorters.DEFAULT )。
要改变测试执行的顺序只需要在测试类(class)上使用 @FixMethodOrder
注解,并指定一个可用的MethodSorter即可:
@FixMethodOrder(MethodSorters.JVM) : 保留测试方法的执行顺序为JVM返回的顺序。每次测试的执行顺序有可能会所不同。
@FixMethodOrder(MethodSorters.NAME_ASCENDING) :根据测试方法的方法名排序,按照词典排序规则(ASC,从小到大,递增)。
相关文章推荐
- 【电子电路】上拉电阻与下拉电阻有什么作用
- js对象 函数
- HTTP返回状态值及用途
- 土木狗自己写的土石方计算程序,控制台程序,只因太菜。。。
- 具有 Button 风格的 Panel(覆盖TCustomPanel的Paint函数,用到了ThemeServices)
- Unity3d之协程自实现测试
- mysql查询各种类型的前N条记录
- GIT的标准文档 使用和服务介绍
- nginx的web连接出现过多的TIME_WAIT
- Longest Common Prefix
- Posix信号灯
- [经典算法] 字符串相似度-编辑距离
- WINDOWS和Linux上安装php7 alpha 并安装 yaf
- linux权限管理
- 谈谈Android App运行时文件系统路径问题
- leetcode 149: Max Points on a Line
- unity3d中,脚本的相互调用。
- 一首诗的代码
- 一首诗的代码
- 数据库 - 备份与恢复