首页 > 解决方案 > 如何在 AssertJ 可迭代断言中使用身份比较

问题描述

我在我的代码中使用 AssertJ 流利的断言。例子:

assertThat(vertexSet).containsExactlyInAnyOrder(v0, v2, v4);

现在我需要使用身份比较而不是.equals(...). 实现这一目标的最简单方法是什么?

这是我想出的:

assertThat(vertexSet).usingComparator((x, y) -> {
    return x == y ? 0 : -1;
}).containsExactlyInAnyOrder(v0, v2, v4);

这行得通,但我不是特别喜欢它。与我真正感兴趣的相等/不相等检查相比,需要一个Comparator语义更广泛的实现。

有更好的选择吗?其他断言有isEqualTo/之类的变体isSameAs,但我在IterableAssert.

标签: javaassertj

解决方案


推荐阅读