我正在使用mockito并创建一个这样的模拟:
...
doAnswer(Helper.create()) //
.when(this.mock).someMethod(any(SomeClass.class));
...
Helper创建一个Answer,它回答一个包含空列表的实例:
return new Answer<ReturnClass>() {
@Override
public ReturnClass answer(InvocationOnMock invocation) throws Throwable {
ReturnClass ret = new ReturnClass();
ret.setList(new ArrayList()); // this is null at runtime
// Solved by: ret.setList(new ArrayList(Arrays.asList("item")));
return ret;
}
};
运行该测试时,会回答ReturnClass的实例,但它的列表为空(在尝试迭代时会导致NullPointerException)。
向该列表添加项目可以解决问题。
我能做些什么来使空列表成为可能吗?