Mockito.when() java 流的子句
Mockito.when() clause for java streams
我想知道如何为下面的代码编写 when()
子句
Optional<Adapter> adapterOp = adapters.stream()
.filter(adapter -> adapter
.getName.equals(someName)).findFirst();
java-stream用于直接数据序列处理,不作为源进一步处理。
如果您需要在单元测试期间以某种方式操作 Stream,我会坚持以下规则:
- Mock/fake
List<T>
从中创建 Stream<T>
或提供其最终输出。
- Mock/fake Stream 本身使用的
@FunctionalInterfaces
(Predicate
, Function
...) 如果通过 class and/or 方法。
- 单独对处理本身进行单元测试。
如果你坚持使用 Mockito 模拟 Stream,你必须知道 Stream 是一个基于构建器设计模式的流畅接口 - 简而言之,每个方法 return 都是相同的类型 Stream<T>
.这意味着您必须分别模拟链中的每个方法和 return 模拟 Stream<T>
实例的新实例。
我想知道如何为下面的代码编写 when()
子句
Optional<Adapter> adapterOp = adapters.stream()
.filter(adapter -> adapter
.getName.equals(someName)).findFirst();
java-stream用于直接数据序列处理,不作为源进一步处理。
如果您需要在单元测试期间以某种方式操作 Stream,我会坚持以下规则:
- Mock/fake
List<T>
从中创建Stream<T>
或提供其最终输出。 - Mock/fake Stream 本身使用的
@FunctionalInterfaces
(Predicate
,Function
...) 如果通过 class and/or 方法。 - 单独对处理本身进行单元测试。
如果你坚持使用 Mockito 模拟 Stream,你必须知道 Stream 是一个基于构建器设计模式的流畅接口 - 简而言之,每个方法 return 都是相同的类型 Stream<T>
.这意味着您必须分别模拟链中的每个方法和 return 模拟 Stream<T>
实例的新实例。