首页 > 代码库 > JUnit中@Test的执行顺序
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包
JUnit中@Test的执行顺序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。