我已经浏览了 AssertJ 示例(https://github.com/joel-costigliola/assertj-examples/blob/master/assertions-examples/src/test/java/org/assertj/examples/IterableAssertionsExamples.java)但是我找不到以下示例:-
3null例如
List<String> items= Arrays.asList(null, null, null);
assertThat(items).hasSize(3).containsOnlyNulls();
Run Code Online (Sandbox Code Playgroud)
注意 -
containsOnlyNulls不存在,但这基本上是我想要测试的。这可以在 AssertJ 中实现吗?
你可以使用
// need to cast to String
assertThat(items).hasSize(3).containsOnly((String) null);
Run Code Online (Sandbox Code Playgroud)
或者
assertThat(items).filteredOn(item -> item == null).hasSize(3);
Run Code Online (Sandbox Code Playgroud)
- 编辑 -
containsOnlyNulls断言已在 3.9.0+ 中添加到 AssertJ
例子:
// assertion will pass
Iterable<String> items = Arrays.asList(null, null, null);
assertThat(items).containsOnlyNulls();
// assertion will fail because items2 contains a not null element
Iterable<String> items2 = Arrays.asList(null, null, "notNull");
assertThat(items2).containsOnlyNulls();
// assertion will fail since an empty iterable does not contain any elements and therefore no null ones.
Iterable<String> empty = new ArrayList<>();
assertThat(empty).containsOnlyNulls();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2533 次 |
| 最近记录: |