JUnit 比较集合中的对象,但包含对象中的指定字段除外
JUnit compare objects in collections except specified fields in contained objects
JUnit 测试...
需要比较除部分字段外的2个单个元素。我可以为此使用 assertj:
Assertions.assertThat(actual).isEqualToIgnoringGivenFields(except, "id", "innerCollection");
而且效果很好。但这还不够。我还需要比较内部集合。我知道内部集合中只有 id 不同。是否可以比较像
Assertions.assertThat(to.getInnerCollection()).isEqualToIgnoringGivenFields(from.getInnerCollection()
, {except fields in collection elements});
在这种情况下,我宁愿考虑创建自己的自定义匹配器。
这实际上是一个简单的任务;你可以找到一个详细的例子 。
JUnit 测试...
需要比较除部分字段外的2个单个元素。我可以为此使用 assertj:
Assertions.assertThat(actual).isEqualToIgnoringGivenFields(except, "id", "innerCollection");
而且效果很好。但这还不够。我还需要比较内部集合。我知道内部集合中只有 id 不同。是否可以比较像
Assertions.assertThat(to.getInnerCollection()).isEqualToIgnoringGivenFields(from.getInnerCollection()
, {except fields in collection elements});
在这种情况下,我宁愿考虑创建自己的自定义匹配器。
这实际上是一个简单的任务;你可以找到一个详细的例子