关于如何在Java8中使用Mockito forEach进行junit测试的问题

关于如何在Java8中使用Mockito forEach进行junit测试的问题,junit,mockito,Junit,Mockito,我有下面的方法,我需要使用JUNIT和Mockito对其进行单元测试。我不知道如何测试返回void的foreach方法 public List<Data> extractOutPutResponse(List<SearchHit> searchHits) { List<Data> outputData = new ArrayList<>(); Gson gson = new Gson(); searchHits.forE

我有下面的方法,我需要使用JUNIT和Mockito对其进行单元测试。我不知道如何测试返回void的foreach方法

public  List<Data> extractOutPutResponse(List<SearchHit> searchHits) {

    List<Data> outputData = new ArrayList<>();
    Gson gson = new Gson();
    searchHits.forEach(hit -> outputData.add(gson.fromJson(hit.getSourceAsString(), Data.class)));
    return outputData;
}
public List extractOutPutResponse(List searchHits){
List outputData=new ArrayList();
Gson Gson=新的Gson();
forEach(hit->outputData.add(gson.fromJson(hit.getSourceAsString(),Data.class));
返回输出数据;
}

为什么要为此使用
mockito
?此方法似乎不使用任何依赖项,并且似乎没有必要模拟参数,因为您可以轻松创建列表。在更一般的情况下,您可能希望使用
Mockito.doAnswer(…).when(mock).forEach(Mockito.any(Consumer.class))SearchHit类是一个不可变的类,因此创建一个没有模拟的列表可能是不可能的。我将按照建议尝试doAnswer。
一个不可变的类
如何与
创建列表
相关?否则如何创建SearchHit列表?要么我必须模拟SearchHit,要么我必须传递Null?