JUnit比较集合中的对象,除了包含的对象中的指定字段

时间:2017-04-05 21:30:12

标签: java junit mocking hamcrest

JUnit测试......

除了某些字段外,它需要比较2个单个元素。我可以使用assertj

Assertions.assertThat(actual).isEqualToIgnoringGivenFields(except, "id", "innerCollection");

它运作良好。但这还不够。我还需要比较内部集合。我知道只有内部集合中的ID不同。是否可以比较

之类的
Assertions.assertThat(to.getInnerCollection()).isEqualToIgnoringGivenFields(from.getInnerCollection()
, {except fields in collection elements});

1 个答案:

答案 0 :(得分:0)

在这种情况下,我宁愿考虑创建自己的自定义匹配器。

这实际上是一项直接的任务;你可以找到一个详细的例子here