我正在寻找一种解决方案,以检查集合中的每个项目的字段expectedNullField是否为null。

以下内容不起作用:
assertThat(aCollection).extracting("expectedNullField").isNull();
请注意以下工作正常:assertThat(aCollection).extracting("expectedNotNullField").isNotNull();
有人帮我吗?

谢谢。

最佳答案

如果您知道尺寸(假设是3),则可以使用

assertThat(aCollection).extracting("expectedNullField")
                       .containsOnly(null, null, null);

或者如果您仅对检查是否存在空值感兴趣
assertThat(aCollection).extracting("expectedNullField")
                       .containsNull();

请注意,您不能使用:
    assertThat(aCollection).extracting("expectedNullField")
                           .containsOnly(null);

因为它是模棱两可的(仅包含varargs参数)。

我可能会考虑在AssertJ中添加containsOnlyNullElements()来克服上面的编译器错误。

关于java - Assertj验证集合中每个项目的字段始终为空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42693428/

10-10 09:17