原文链接: 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包

JUnit中@Test的运行顺序的更多相关文章

  1. 解释JUnit中@BeforeClass和@AfterClass标注的方法必须是static的,而在TestNg不必

    在JUnit中@BeforeClass和@AfterClass标注的方法必须是static的:但是在TestNg中却没有这样的限制,这是为什么呢. 其实和他们两的运行机制有关. 在junit中: 每运 ...

  2. Unity3D中组件事件函数的运行顺序

    事件函数的运行顺序 Unity 脚本中有很多按预设顺序以脚本身份执行的事件函数. 其执行顺序例如以下: 载入第一个场景 启动场景时调用这些函数(为场景中的每一个对象调用一次). Awake: 始终在调 ...

  3. Java类的基本运行顺序是怎样

    我们以下面的类来说明一个基本的 Java 类的运行顺序: public class Demo{ private String name; private int age; public Demo(){ ...

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

    http://www.cnblogs.com/champ/p/execorder.html 在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行.与 ...

  5. Java类的基本运行顺序

    不看不知道,一看还真吓了一跳!Java类的基本运行顺序你真的知道吗?如果你有疑惑,那就看下面这篇文章吧.   原文出自:[url]http://column.ibeifeng.com/chenchen ...

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

    http://www.cnblogs.com/champ/p/execorder.html 在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行.与 ...

  7. JUnit中测试异常抛出的方法

    最近在做TWU关于TDD的作业,对JUnit中测试异常抛出的方法进行了一些学习和思考. 在进行单元测试的时候有的时候需要测试某一方法是否抛出了正确的异常.例如,我有一个方法,里面对一个List进行读取 ...

  8. Junit中常用的注解说明

    Java注解((Annotation)的使用方法是@注解名 ,能通过简单的词语来实现一些功能.在junit中常用的注解有@Test.@Ignore.@BeforeClass.@AfterClass.@ ...

  9. Java中的成员初始化顺序和内存分配过程

    Java中的成员初始化顺序和内存分配过程 原帖是这样描述的: http://java.dzone.com/articles/java-object-initialization?utm_source= ...

随机推荐

  1. R语言- 基本统计分析

    目的: 1.描述性统计分析 2.频数表和;列连表 3.相关系数和协方差 4.t检验 5.非参数统计 在上一节中使用了图形来探索数据,下一步就是给出具体的数据来描述每个变量的分布和关系 1.描述性统计分 ...

  2. EularProject 41:最长的n位Pandigital素数问题

    Pandigital prime Problem 41 We shall say that an n-digit number is pandigital if it makes use of all ...

  3. thinkphp事务不能回滚的问题(因为助手函数)

    thinkphp事务不能回滚的问题(因为助手函数) 一.总结 二.thinkphp 5 事务不能回滚 Db::startTrans(); try{ db('address')->where([' ...

  4. [Angular 2] BYPASSING PROVIDERS IN ANGULAR 2

    Artical --> BYPASSING PROVIDERS IN ANGULAR 2 Here trying to solve one problem: On the left hand s ...

  5. [PReact] Use Link State to Automatically Handle State Changes

    Storing and updating values inside a component’s local state (known as controlled components) is suc ...

  6. [TypeStyle] Use TypeStyle keyframes to create CSS animations

    We cover CSS keyframes and how to create them using TypeStyle. We then show how to use the keyframes ...

  7. 教你写Http框架(二)——三个样例带你深入理解AsyncTask

    这个标题大家不要奇怪,扯Http框架怎么扯到AsyncTask去了,有两个原因:首先是Http框架除了核心http理论外.其技术实现核心也是线程池 + 模板 + handler,而AsyncTask又 ...

  8. 亿格瑞A5-hdmi故障了

    http://cn.egreatworld.com/store/product/egreat-a5-4k-uhd-hdr-blu-ray-navigation-hdd-media-player/ a5 ...

  9. Netty+WebSocket简单实现网页聊天

    基于Netty+WebSocket的网页聊天简单实现 一.pom依赖 <dependency>        <groupId>io.netty</groupId> ...

  10. 【55.70%】【codeforces 557A】Ilya and Diplomas

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...