2
我试图模拟一个类的非静态方法。我正在测试同一类的一种方法。但是它返回一个nullPointerException。不知道我在这里做错了什么。任何帮助将不胜感激。Mockito doReturn抛出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();
}}
上午我嘲笑这个方法在错误的道路?
该方法实际上被调用,并没有被嘲笑。 –