gpt4 book ai didi

java - Hamcrest:比较两个自定义类对象集合

转载 作者:行者123 更新时间:2023-12-02 10:40:26 24 4
gpt4 key购买 nike

我有两个 Collection<Audit> 集合:

Collection<Audit> pendingAudits;
Collection<Audit> olderAudits;

所以,我需要比较 pendingAudits 中的所有 olderAudits 元素。

为了比较它们,有必要比较每个 audit.getId().equals(other.getId())

请记住,我无法覆盖 Audit.equalsAudit.hashCode 。这是一个第三方类。

我想我需要创建一个自定义内联 Matcher

有什么想法吗?

最佳答案

如果您想尝试一下assertj,您可以从它的custom comparison strategy中受益。

@Test
void myTest() {
Collection<Audit> pendingAudits = ...
Collection<Audit> olderAudits = ...

Comparator<Audit> byId = Comparator.comparing(Audit::getId);
assertThat(olderAudits).usingElementComparator(byId).containsAll(pendingAudits);
}

关于java - Hamcrest:比较两个自定义类对象集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52949389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com