【发布时间】:2018-03-23 10:42:04
【问题描述】:
如何实现以下:
List<Data> streams = new ArrayList<>();
assertThat(streams).usingFieldByFieldElementComparatorIgnoringGivenFields("createdOn").containsOnly(data1, data2);
【问题讨论】:
标签: java assertions assertj
如何实现以下:
List<Data> streams = new ArrayList<>();
assertThat(streams).usingFieldByFieldElementComparatorIgnoringGivenFields("createdOn").containsOnly(data1, data2);
【问题讨论】:
标签: java assertions assertj
使用与ListAssert.usingFieldByFieldElementComparator() 执行相同操作的ListAssert.usingElementComparatorIgnoringFields(String... fields),但允许忽略某些字段/属性:
按字段/属性比较所有字段/属性 除了给定的字段/属性
所以你可以写:
List<Data> streams = new ArrayList<>();
//...
Assertions.assertThat(streams)
.usingElementComparatorIgnoringFields("createdOn")
.containsOnly(data1, data2);
【讨论】:
Assert.assertTrue(date.after(lowerLimitDate) && date.before(upperLimitDate));
usingElementComparatorOnFields("foo", "bar") 非常有用。