gpt4 book ai didi

Java比较复杂对象,不包括JUnit的某些字段

转载 作者:行者123 更新时间:2023-11-30 08:01:27 35 4
gpt4 key购买 nike

我尝试了 Unitils 工具,它真的很棒,但没有为您提供排除字段的选项。这样做的唯一方法是将对象设置为空并启用标志“IGNORE_DEFAULTS”,但在我的情况下它没有帮助,因为我有一些系统自动生成的 ID。因此,如果我可以将 id 添加到排除列表中,那将是完美的。

我也尝试了 Mockito ReflectionEquals 但没有帮助,因为我需要一个字段到字段的比较。

还有什么有用的吗?我搜索了几个小时都没有成功。

提前致谢!

最佳答案

您可以使用 AssertJ 解决您的问题.它可以做field-by-field recursive comparison带有 ignore fields 的选项按名称、正则表达式或类型。

assertThat(sherlock)
.usingRecursiveComparison()
.ignoringFields("name", "home.address.street")
.isEqualTo(moriarty);

关于Java比较复杂对象,不包括JUnit的某些字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37689255/

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