2014-12-30 73 views
-2
public enum DivisionConstant { 
    consumer(1), office(2), production_printing(3); 
} 

此枚舉我寫了一個JUnit測試爲:JUnit進行測試的枚舉類

@Test 
public void testDivisionConstantFromInt() 
{ 
    DivisionConstant d = DivisionConstant.fromInt(1); 
    assertTrue((d.toName().compareToIgnoreCase("consumer") == 0)); 
} 

當我執行這一點,只顯示真或假。但我想知道如果測試情況下也不會工作,我想原因爲測試

+1

使用類似hamcrest斷言:'assertThat(d.toName,is(「consumer」))',以獲得更具表達性的錯誤消息。 –

+0

[junit assertEquals ignore case]的可能重複(http://stackoverflow.com/questions/17652051/junit-assertequals-ignore-case) – Joe

回答

4

這需要提供自己

assertTrue("Name was not lexically identical to \"consumer\"", 
     d.toName().compareToIgnoreCase("consumer") == 0); 
1

可以使用自定義的消息,像這樣的失敗:

assertTrue("Value of d["+d+"] is not equal to consumer", (d.toName().compareToIgnoreCase("consumer") == 0));