如何用JUnit测试那两个列表 包含相同顺序的相同元素?

如何用JUnit测试那两个列表 包含相同顺序的相同元素?,第1张

如何用JUnit测试那两个列表 包含相同顺序的相同元素

我更喜欢使用Hamcrest,因为如果出现故障,它可以提供更好的输出

Assert.assertThat(listUnderTest,        IsIterableContainingInOrder.contains(expectedList.toArray()));

而不是报告

expected true, got false

它会报告

expected List containing "1, 2, 3, ..." got list containing "4, 6, 2, ..."

IsIterableContainingInOrder.contain

Hamcrest

根据Javadoc:

为Iterables创建一个匹配器,当在经过检查的Iterable上单次通过时,该匹配器将产生一系列项目,每个项目在逻辑上均等于指定项目中的相应项目。对于正匹配,所检查的可迭代项的长度必须与指定项目的数量相同

因此,

listUnderTest
必须具有相同数量的元素,并且每个元素必须按顺序匹配期望值。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5507680.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存