預設訂單
使用註釋 - @FixMethodOrder(MethodSorters.DEFAULT)
。這將以確定性和可預測的順序執行類中的所有測試。實現雜湊方法名稱並比較它們。在平局的場景中,它按字典順序排序。
下面的程式碼段取自 JUnit Github - MethodSorter.java
public int compare(Method m1, Method m2) {
int i1 = m1.getName().hashCode();
int i2 = m2.getName().hashCode();
if(i1 != i2) {
return i1 < i2 ? -1 : 1;
}
return NAME_ASCENDING.compare(m1,m2);
}
例
@FixMethodOrder(MethodSorters.DEFAULT)
public class OrderedTest {
@Test
public void testA() {}
@Test
public void testB() {}
@Test
public void testC() {}
}
假設 testA
,testB
和 testC
的雜湊值分別為 3,2 和 1。然後執行順序是
- TESTC
- TESTB
- 種皮
假設所有測試的雜湊都是相同的。由於所有雜湊值都相同,因此執行順序基於詞典順序。執行順序是
- 種皮
- TESTB
- TESTC