[英]Mockito doReturn throws a nullPointerException
我正在尝试模拟一个类的非静态方法。 我正在测试同一个类的方法。 但是它返回一个nullPointerException。 想知道我在这里做错了什么。 任何帮助将不胜感激。
我的代码:
public class B2P {
protected Future<List<FeedObject>> evaluate (NodeContext
nodeContext) throws Exception {
Map<BoardQuery, Future<List<FeedObject>>> resultsFuturesMap =
getResultsFutureMap(boardsQuery,
query, generatorParams, resourceContainer);
return resultsFuturesMap;
}
public Map<BoardQuery, Future<List<FeedObject>>>
getResultsFutureMap(){
DoSomething;
}
}
我的测试课:
public class testClass {
public void test() {
B2P b2p = new B2P();
B2P mockSpy = Mockito.spy(b2p);
doReturn(ImmutableMap.of(
new BoardQuery().setBoardId(102L).setSignatureWeights(
ImmutableMap.of("s3", 1.0, "s4", 1.0, "s5", 1.0)),
Future.value(ImmutableList.of(
new FeedObject().setObjectId(904L).setObjectDetails(new
ObjectDetails()
.setCommonObjectDetails(new CommonObjectDetails())
.setPinDetails(new
PinDetails().setSource(FeedSourceType.FANTASIO))),
new FeedObject().setObjectId(903L).setObjectDetails(new
ObjectDetails()
.setCommonObjectDetails(new CommonObjectDetails())
.setPinDetails(new PinDetails().setSource(FeedSourceType.FANTASIO))),
new FeedObject().setObjectId(902L).setObjectDetails(new ObjectDetails()
.setCommonObjectDetails(new CommonObjectDetails())
.setPinDetails(new PinDetails().setSource(FeedSourceType.FANTASIO)))))))
.when(mockSpy).getResultsFutureMap(any(), any(), any(), any());
....
b2p.evaluate();
}}
我是否以错误的方式嘲笑了此方法?
b2p.evaluate();
是在您的普通实例而不是模拟实例上调用的。
要调用您的mockSpy.evaluate();
实例,您需要mockSpy.evaluate();
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.