使用JUnit测试ArrayList大小的Java初学者

ckx4rj1h  于 2023-06-04  发布在  Java
关注(0)|答案(5)|浏览(436)
@Test
    @DisplayName("Get all Points in Shape is working and gets the correct number output")
    public void test_Get_All_Points_On_Shape()
    {
        ArrayList<Point> points = new ArrayList<Point>(Arrays.asList(new Point[4]));
        assertEquals(points.size() == 4);
    }

上述代码给出错误

The method assertEquals(short, short) in the type Assertions is not applicable for the arguments (boolean)

如何解决这个问题?

ss2ws0br

ss2ws0br1#

要么你用

assertTrue(points.size() == 4);

assertEquals(4, points.size());
pxiryf3j

pxiryf3j2#

请查看http://junit.sourceforge.net/javadoc/org/junit/Assert.html#assertEquals(long,%20long)
assertEquals方法需要两个参数。将代码替换为assertEquals(4,points.size());

s4chpxco

s4chpxco3#

方法assertEquals()接受两个参数:

  • 期望值和
  • 实际值

您传递的是两个整数的相等运算符的结果,这是布尔值。
您必须将此行更改为以下内容:

assertEquals(4, points.size());
uqxowvwt

uqxowvwt4#

您可以根据需要适当地使用Assert选项。有两种简单的方法可以用于您的案例

assertEquals(4, points.size());
assertTrue(points.size() == 4);

根据您的需求,您可以使用assertFalse(),这也是一个常用的方法。

db2dz4w8

db2dz4w85#

如果从org.assertj.core.api.AssertionsForClassTypes.assertThat或从org.assertj.core.api.Assertions.assertThat使用assertThat()
然后你可以用途:

assertThat(points).hasSize(4);

相关问题