JUnit中@Test的执行顺序

原文链接: Test execution order

原文日期: 2012年12月06日

翻译日期: 2014年10月16日

翻译人员: 百里马

按照设计,Junit不指定test方法的执行顺序。

到目前为止,这些test方法仍是简单地根据反射API返回的顺序来执行。

但是,由于Java平台并不能指定明确的顺序,因此使用JVM来决定test方法的顺序是不明智的。

而事实上,JDK7会返回一个随机的顺序。

当然,编写完善的测试代码并不需要假定任何执行顺序,但是另一些需要,而且在一些特定平台上一个可预测的错误总比随机错误要好。

从4.11版本开始,JUnit将会默认使用一个可确定,但是不可预测的顺序(MethodSorters.DEFAULT)。

如果你想要改变test的执行顺序,那么你可以简单的在test类上加以个注解@FixMethodOrder 并且指定一个合适的MethodSorters

@FixMethodOrder(MethodSorters.JVM): 根据JVM返回的顺序来决定test方法的执行顺序。每次测试这个顺序可能都不一样

@FixMethodOrder(MethodSorters.NAME_ASCENDING): 根据test方法名按照字典顺序升序排序

注:1、Junit4.11版本及以后才支持
2、使用Junit,需要有配合的hamcrest包

时间: 2024-11-09 00:32:11

JUnit中@Test的执行顺序的相关文章

【转】Unity3D中脚本的执行顺序和编译顺序(vs工程引用关系)

http://www.cnblogs.com/champ/p/execorder.html 在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行.与脚本有关的也就是编译和执行啦,本文就来研究一下Unity中脚本的编译和执行顺序的问题. 事件函数的执行顺序 先说一下执行顺序吧. 官方给出的脚本中事件函数的执行顺序如下图:  我们可以做一个小实验来测试一下: 在Hierarchy视图中创建三个游戏对象,在Project视图中创建三条脚本,如下图所示

(转)Unity3D中脚本的执行顺序和编译顺序(vs工程引用关系)

自:http://www.cnblogs.com/champ/p/execorder.html 在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行.与脚本有关的也就是编译和执行啦,本文就来研究一下Unity中脚本的编译和执行顺序的问题. 事件函数的执行顺序 先说一下执行顺序吧. 官方给出的脚本中事件函数的执行顺序如下图:  我们可以做一个小实验来测试一下: 在Hierarchy视图中创建三个游戏对象,在Project视图中创建三条脚本,如下图

继承中代码的执行顺序

在继承中代码的执行顺序为:1.父类静态对象和静态代码块   2.子类静态对象和静态代码块 3.父类非静态对象和非静态代码块  4.父类构造函数 5.子类非静态对象和非静态代码块  6.子类构造函数 1.对于本题来说:在只想new Sub(5)的时候,父类先初始化了 int flag = 1,然后执行父类的构造函数Super(),父类构造函数中执行的test()方法,因子类是重写了test()方法的,因此父类构造函数中的test()方法实际执行的是子类的test()方法,所以输出为Sub.test

jquery的AJAX中各个事件执行顺序

jquery的AJAX中各个事件执行顺序如下: 1.ajaxStart(全局事件) 2.beforeSend 3.ajaxSend(全局事件) 4.success 5.ajaxSuccess(全局事件) 6.error 7.ajaxError (全局事件) 8.complete 9.ajaxComplete(全局事件) 10.ajaxStop(全局事件)

【转】Unity3D中脚本的执行顺序和编译顺序

支持原文,原文请戳: Unity3D中脚本的执行顺序和编译顺序 在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行.与脚本有关的也就是编译和执行啦,本文就来研究一下Unity中脚本的编译和执行顺序的问题. 事件函数的执行顺序 先说一下执行顺序吧. 官方给出的脚本中事件函数的执行顺序如下图:  我们可以做一个小实验来测试一下: 在Hierarchy视图中创建三个游戏对象,在Project视图中创建三条脚本,如下图所示,然后按照顺序将脚本绑定到对

aspx、matser、ascx中PageLoad的执行顺序

顺序即为:aspx.matser.ascx aspx.matser.ascx中PageLoad的执行顺序,码迷,mamicode.com

hadoop27---netty中handler的执行顺序

Netty是基于Java NIO的网络应用框架. Netty是一个NIO client-server(客户端服务器)框架,使用Netty可以快速开发网络应用,例如服务器和客户端协议.Netty提供了一种新的方式来使开发网络应用程序,这种新的方式使得它很容易使用和有很强的扩展性.Netty的内部实现时很复杂的,但是Netty提供了简单易用的api从网络处理代码中解耦业务逻辑.Netty是完全基于NIO实现的,所以整个Netty都是异步的. 网络应用程序通常需要有较高的可扩展性,无论是Netty还是

7.Netty中 handler 的执行顺序

1.Netty中handler的执行顺序 Handler在Netty中,无疑占据着非常重要的地位.Handler与Servlet中的filter很像,通过Handler可以完成通讯报文的解码编码.拦截指定的报文. 统一对日志错误进行处理.统一对请求进行计数.控制Handler执行与否.一句话,没有它做不到的只有你想不到的 Netty中的所有handler都实现自ChannelHandler接口.按照输入输出来分,分为ChannelInboundHandler.ChannelOutboundHan

Unity3D中脚本的执行顺序和编译顺序

在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行.与脚本有关的也就是编译和执行啦,本文就来研究一下Unity中脚本的编译和执行顺序的问题. 先说一下执行顺序吧.官方给出的脚本执行顺序如下图: 我们可以做一个小实验来测试一下:在Hierarchy视图中创建三个游戏对象,在Project视图中创建三条脚本,如下图所示,然后按照顺序将脚本绑定到对应的游戏对象上: 三条脚本的代码完全一样,只是做了一点名称上的区分: 1 using System.C