gpt4 book ai didi

java - 找不到 assertArrayEquals(Object[] o1, Object[] o2)

转载 作者:行者123 更新时间:2023-11-30 07:38:46 25 4
gpt4 key购买 nike

我的设置:

  Netbeans 6.7
Java6
JUnit 4.5 added as the Test libraries

当我尝试传入两个类数组(转换为 Object[])时,我收到错误“找不到符号”并且我的测试用例将无法编译。

我对其他断言语句没有任何问题,正如我所说,我使用的是 JUnit 4.5 库。

有没有人知道如何解决这个问题,或者是否观察到这种古怪的行为?

Netbeans 能够通过其自动完成功能找到此函数声明,但无法找到它所在的位置,也无法导航到源代码。

示例代码:

CustomObject[] coa = { new CustomObject() ....}
CustomObject[] expected = { new CustomObject() ... }
assertArrayEquals((Object[])coa, (Object[])expected);

最佳答案

好吧,Assert.assertArrayEquals 是一个静态方法,正如您可以从正在运行的代码中看到的那样:

 org.junit.Assert.assertArrayEquals(....)

但是在您提供的代码中,您试图将其用作实例方法:

 assertArrayEquals((Object[])coa, (Object[])expected);

仅当您静态导入 Assert.*Assert.assertArrayEquals 时才有效。

现在,如果您的其他断言有效,我的猜测是您仍在派生自 TestCase(即编写 JUnit 测试的“旧”方式)并且您的断言正在调用 TestCase.assertEquals

如果您能给出一个简短但完整的单元测试示例,其中一个断言有效但 assertArrayEquals 无效,我们可能可以弄清楚发生了什么。

关于java - 找不到 assertArrayEquals(Object[] o1, Object[] o2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1552893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com