junit 如何在单元测试中比较Java中的两个Set集合?

vu8f3i0k  于 2022-11-11  发布在  Java
关注(0)|答案(3)|浏览(236)

assertTrue(SetUtils.equals(test1, test2), is(false));(从定义了SetUtils类的https://www.mkyong.com/java/java-how-to-compare-two-sets/引用的解决方案)是测试两个集合是否包含相同值的唯一正确方法吗?还是当前支持直接使用assertEquals(test1,test2);

sxissh06

sxissh061#

你可以用AssertJ以更优雅的方式来做同样的Assert。原因是单元测试更多的被认为是代码的文档,所以最好有更可读的单元测试。使用assertj,你可以通过以下方式来做:
(测试1).具有与(测试2)相同的大小;
更多示例here

ctzwtxfj

ctzwtxfj2#

要比较两个Java集,可以用途:

assertTrue(set1.containsAll(set2) && set2.containsAll(set1));
bq8i3lrv

bq8i3lrv3#

您可以直接使用org.junit.jupiter.api.Assertions.assertEquals来比较两个集合。只要传入要与之比较的两个集合即可。

import static org.junit.jupiter.api.Assertions.assertEquals;

assertEquals(set1, set2); #usage

相关问题