如何实现以下目标:

List<Data> streams = new ArrayList<>();
assertThat(streams).usingFieldByFieldElementComparatorIgnoringGivenFields("createdOn").containsOnly(data1, data2);

最佳答案

使用 ListAssert.usingElementComparatorIgnoringFields(String... fields) ListAssert.usingFieldByFieldElementComparator() 做同样的事情,但允许忽略一些字段/属性:



所以你可以写:

List<Data> streams = new ArrayList<>();
//...
Assertions.assertThat(streams)
          .usingElementComparatorIgnoringFields("createdOn")
          .containsOnly(data1, data2);

关于java - 是否可以使用FieldByFieldElementComparator从assertJ中排除某些字段?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49447819/

10-13 03:06