我有以下断言声明;
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 :(得分:2)
您收到断言错误,因为xyz.getTotalRecords()
不是50
,但您的断言是正确的,尽管您可能希望使用assertEquals
而不是
答案 1 :(得分:1)
好的风格正在使用assertEquals(xyz.getTotalRecords(), 50)
。
答案 2 :(得分:0)
自编译以来,语法正确。您会收到此异常,因为条件不是true
。
答案 3 :(得分:0)
我做错了什么,或者实际上是什么问题 被断言?
语法很好。问题在于断言。您的预期价值与实际价值不同。
尝试在断言失败时提供消息:JUnit
assertTrue("Expected size: 50, Actual size: " + xyz.getTotalRecords(), xyz.getTotalRecords() == 50);
或assertEquals("Expected size: 50, Actual size: " + xyz.getTotalRecords(), xyz.getTotalRecords(), 50);
答案 4 :(得分:0)
你做得很好。你刚刚得到失败的断言。顺便说一句,好的做法是以这种方式使用Hamcrest:
import static org.hamcrest.CoreMatchers.*;
...
assertThat(xyz.getTotalRecords(), is(50));