JUnit AssertEquals 截断数组结果

问题描述 投票:0回答:0

在我的无头系统中,我希望使用 JUnit4 中的

T
函数检查两种泛型类型(例如
assertThat(generic1).isEqualTo(generic2)
)的内容相等性。

这适用于一些简单的泛型类型,但对于非常长的数组,JUnit 会自动将数组的打印内容截断为 30 个元素长,这使得无法检查该点之后的 ArrayList 之间的差异。下面的例子:

Expecting:
 <"[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, ... (199970 more)] (ArrayList@7bde3f35)">
to be equal to:
 <"[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, ... (199970 more)] (ArrayList@c67be61)">
but was not.

由于这是一个无头系统,我不相信我有权设置诸如

idea.junit....
之类的变量,我也无法访问基于GUI的调试器。

我尝试增强测试方法本身以手动打印数组的内容。但由于参数本身是泛型,不能直接转换为

ArrayList<Integer>
,而且我不希望修改类和方法本身的实现,所以我目前也陷入困境。

任何意见将不胜感激!

java junit junit4
© www.soinside.com 2019 - 2024. All rights reserved.