在 JUnit4 中断言两个列表相等
Asserting two lists are equal in JUnit4
我刚刚开始使用 JUnit4 编写单元测试。在实际的单元测试方法本身中,我创建了 'expected' 变量,并试图将其与我的代码进行比较。
我正在使用 JUnit4 中的 Assert.assertEquals 方法比较 ArrayLists,但在预期的末尾似乎有一个空格?
Expected: "java.util.ArrayList<[data]> "
Actual: "java.util.ArrayList<[data]>"
任何解释或帮助将不胜感激。
TIA.
不保证不同 class 的列表产生相同的输出。您可以使用 list.toString().trim()
方法来切断 space(s),但这只是一种解决方法。
最好使用 list1.equals(list2
) 或 Arrays.equals(array1,array2)
.
你可以使用CollectionUtils.isEqualCollection(list1, list2);
或
您也可以使用
Assert.assertArrayEquals(list1.toArray(new Integer[list1.size()]),
list2.toArray(new Integer[list2.size()]));
对于上面的示例,我假定列表类型为整数,但它适用于任何数据类型。
如果您仍然遇到任何问题,请告诉我。
祝你好运!
我刚刚开始使用 JUnit4 编写单元测试。在实际的单元测试方法本身中,我创建了 'expected' 变量,并试图将其与我的代码进行比较。
我正在使用 JUnit4 中的 Assert.assertEquals 方法比较 ArrayLists,但在预期的末尾似乎有一个空格?
Expected: "java.util.ArrayList<[data]> "
Actual: "java.util.ArrayList<[data]>"
任何解释或帮助将不胜感激。 TIA.
不保证不同 class 的列表产生相同的输出。您可以使用 list.toString().trim()
方法来切断 space(s),但这只是一种解决方法。
最好使用 list1.equals(list2
) 或 Arrays.equals(array1,array2)
.
你可以使用CollectionUtils.isEqualCollection(list1, list2);
或
您也可以使用
Assert.assertArrayEquals(list1.toArray(new Integer[list1.size()]),
list2.toArray(new Integer[list2.size()]));
对于上面的示例,我假定列表类型为整数,但它适用于任何数据类型。
如果您仍然遇到任何问题,请告诉我。
祝你好运!