JUnit中@Test的运行顺序
原文鏈接:?Test execution order
原文日期: 2012年12月06日
翻譯日期: 2014年10月16日
翻譯人員: 百里馬
依照設(shè)計(jì),Junit不指定test方法的運(yùn)行順序。
到眼下為止,這些test方法仍是簡(jiǎn)單地依據(jù)反射API返回的順序來(lái)運(yùn)行。
可是,因?yàn)镴ava平臺(tái)并不能指定明白的順序,因此使用JVM來(lái)決定test方法的順序是不明智的。
而其實(shí),JDK7會(huì)返回一個(gè)隨機(jī)的順序。
當(dāng)然,編寫完好的測(cè)試代碼并不須要假定不論什么運(yùn)行順序,可是還有一些須要,并且在一些特定平臺(tái)上一個(gè)可預(yù)測(cè)的錯(cuò)誤總比隨機(jī)錯(cuò)誤要好。
從4.11版本號(hào)開始,JUnit將會(huì)默認(rèn)使用一個(gè)可確定,可是不可預(yù)測(cè)的順序(MethodSorters.DEFAULT)。
假設(shè)你想要改變test的運(yùn)行順序,那么你能夠簡(jiǎn)單的在test類上加以個(gè)注解@FixMethodOrder?而且指定一個(gè)合適的MethodSorters
@FixMethodOrder(MethodSorters.JVM): 依據(jù)JVM返回的順序來(lái)決定test方法的運(yùn)行順序。每次測(cè)試這個(gè)順序可能都不一樣
@FixMethodOrder(MethodSorters.NAME_ASCENDING): 依據(jù)test方法名依照字典順序升序排序
注:1、Junit4.11版本號(hào)及以后才支持 2、使用Junit,須要有配合的hamcrest包
轉(zhuǎn)載于:https://www.cnblogs.com/gcczhongduan/p/4293159.html
總結(jié)
以上是生活随笔為你收集整理的JUnit中@Test的运行顺序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: windows live writer
- 下一篇: LeetCode:999. 车的可用捕获