2014-12-30 3 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, является ("потребитель"))', чтобы получить более выразительные сообщения об ошибках. –

+0

Возможный дубликат [junit assertEquals игнорировать регистр] (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)); 
Смежные вопросы