2013-11-29 1 views
0

У меня есть следующее утверждение:Правилен ли следующий синтаксис утверждения?

assertTrue(xyz.getTotalRecords() == 50); 

Я получаю сообщение об ошибке

java.lang.AssertionError 
    at org.junit.Assert.fail(Assert.java:92) 
    at org.junit.Assert.assertTrue(Assert.java:43) 
    at org.junit.Assert.assertTrue(Assert.java:54) 

Я делаю что-то неправильно, или это проблема с тем, что фактически утверждается?

ответ

0

Скомпилированный синтаксис. Вы получаете это исключение, потому что условие не true.

2

Вы получите ошибку, потому что утверждение xyz.getTotalRecords() не 50 но ваше утверждение иначе правильно, хотя вы можете использовать assertEquals вместо

1

Хороший стиль использует assertEquals(xyz.getTotalRecords(), 50).

0

Я делаю что-то неправильно ИЛИ это проблема с тем, что на самом деле является ?

Синтаксис в порядке. Проблема заключается в утверждении. Ваше ожидаемое значение не такое же, как и фактическое.

Try обеспечивая сообщение для того, когда утверждение не: JUnit

assertTrue("Expected size: 50, Actual size: " + xyz.getTotalRecords(), xyz.getTotalRecords() == 50); 

или assertEquals("Expected size: 50, Actual size: " + xyz.getTotalRecords(), xyz.getTotalRecords(), 50);

0

Вы делаете все правильно. Вы просто получаете неудачное утверждение. BTW, хорошая практика заключается в использовании Hamcrest таким образом:

import static org.hamcrest.CoreMatchers.*; 
... 
assertThat(xyz.getTotalRecords(), is(50));