【发布时间】:2016-05-19 22:23:21
【问题描述】:
我正在使用 mockito 如何模拟 stream.map() 调用。
我尝试了类似这样的方法,它返回 null。
@Mock Stream<String> stringStream;
@Mock Stream<String> upperCaseStream;
when(stringStream.map(String::toUpperCase)).thenReturn(upperCaseStream);
syso(stringStream.map(String::toUpperCase));
这将打印 null。
我正在寻找一种正确的模拟方法,它会在输出中返回“大写流”。
【问题讨论】:
-
你真的初始化
upperCaseStream了吗? -
我已经初始化了没有问题的模拟。如果没有初始化 stringStream.map(String::toUpperCase) 会抛出 NPE。
-
这些是经过大量测试的简单库函数。你为什么要嘲笑他们?
-
你到底想在这里做什么?这听起来像XY question。
-
不要。只是不要嘲笑这些事情。他们不应该被嘲笑。使用真实值,如果是小玩具的话。但首先你不应该嘲笑这种事情。
标签: java unit-testing mocking java-8 mockito