Junit指定测试运行顺序

原文链接: 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,从小到大,增量)。

时间: 2024-10-18 06:55:35

Junit指定测试运行顺序的相关文章

Junit指定测试执行顺序

原文链接: Test execution order原文日期: 2012年12月06日翻译日期: 2014年7月2日翻译人员: 铁锚 说明: Junit4.11版本及以后才支持,建议升级到最新版本. 按照设计原则,JUnit是不指定测试方法调用执行顺序的.目前为止,这些方法只是简单地按照反射(reflection) API返回的顺序执行.但是,使用JVM默认提供的排序是很不明智的,因为Java平台没有指定任何有规律的顺序,而事实上JDK 7可能会返回一个随机的顺序.当然,精心编写的测试代码之间并

SQL按指定文字顺序进行排序(中文或数字等)

在有些情况下我们需要按指定顺序输出数据,比如选择了ID in(3,1,2,5,4)我们希望按这个3,1,2,5,4的顺序输出,这样只使用order by ID是无法实现的, 但是我们可以使用order by charindex(','+convert(varchar,ID)+',',',3,1,2,5,4,')的方法来实现这个目的.举例如下: Create Table info( ID int identity(1,1) not null, title varchar(100) not null

Linux Shell sort按照指定的顺序进行排列

按照指定的顺序升序排列 sort -t ":" -k 2n,2 file.log file_numb: 306; total_size: 184.478 GB;avg_size: 617.339 MBfile_numb: 348; total_size: 140.047 GB;avg_size: 412.091 MBfile_numb: 2427; total_size: 0.00790029 GB;avg_size: 0.00333329 MBfile_numb: 3146; tot

Junit之测试顺序---FixMethodOrder

参考:http://www.cnblogs.com/lukehuang/archive/2013/08/27.html Brief Junit 4.11里增加了指定测试方法执行顺序的特性 测试类的执行顺序可通过对测试类添加注解 “@FixMethodOrder(value)” 来指定,其中value 为执行顺序 三种执行顺序可供选择:默认(MethodSorters.DEFAULT),按方法名(MethodSorters.NAME_ASCENDING)和JVM(MethodSorters.JVM

junit之测试顺序【转】

junit之测试顺序 博客分类: java之各类测试 参考:http://www.cnblogs.com/lukehuang/archive/2013/08/27.html Brief Junit 4.11里增加了指定测试方法执行顺序的特性 测试类的执行顺序可通过对测试类添加注解 “@FixMethodOrder(value)” 来指定,其中value 为执行顺序 三种执行顺序可供选择:默认(MethodSorters.DEFAULT),按方法名(MethodSorters.NAME_ASCEN

springboot Junit 测试

Junit常用注解: @Before:初始化方法 @After:释放资源 @Test:测试方法,在这里可以测试期望异常和超时时间 @Ignore:忽略的测试方法 @BeforeClass:针对所有测试,只执行一次,且必须为static void @AfterClass:针对所有测试,只执行一次,且必须为static void @RunWith:指定使用的单元测试执行类 Junit测试用例执行顺序: @BeforeClass ==> @Before ==> @Test ==> @After

java初始化构造函数调用顺序

类初始化时构造函数调用顺序: (1)初始化对象的存储空间为零或null值:  (2)调用父类构造函数:  (3)按顺序分别调用类成员变量和实例成员变量的初始化表达式:  (4)调用本身构造函数. 例子:public class Dollar extends Money{     Rmb r=new Rmb()     public Dollar(){      System.out.println("Dollar is construct!");     }     public st

MySQL查询in操作 查询结果按in集合顺序显示_Mysql_脚本之家

body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;

Join的表顺序

在 今天的文章里,我想谈下SQL Server里一个非常有趣的话题:在表联接里,把表指定顺序的话是否有意义?每次我进行查询和性能调优的展示时,大家都会问我他们是否应该把联接中的表 指定下顺序,是否会帮助查询优化器得出一个更好性能的执行计划.我们来看下这个重要又有趣的问题. 合并联接(Inner Joins) 假设在AdventureWorks数据库里,你要在Sales.SalesOrderHeader表和Sales.SalesOrderDetail表之间做一个内联接: 1 USE Adventu