如何实现以下目标:
List<Data> streams = new ArrayList<>();
assertThat(streams).usingFieldByFieldElementComparatorIgnoringGivenFields("createdOn").containsOnly(data1, data2);
答案 0 :(得分:8)
使用与ListAssert.usingElementComparatorIgnoringFields(String... fields)
完全相同的ListAssert.usingFieldByFieldElementComparator()
,但允许忽略某些字段/属性:
通过字段/属性比较使用字段/属性 除了给定的字段/属性
所以你可以写:
List<Data> streams = new ArrayList<>();
//...
Assertions.assertThat(streams)
.usingElementComparatorIgnoringFields("createdOn")
.containsOnly(data1, data2);