【发布时间】:2015-06-30 19:44:40
【问题描述】:
我有一个存根的 JSON OBJECT,但需要使用 Mockito 模拟以下内容:
HttpResponse response = defaultHttpClient.execute(postRequest);
BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuilder result = new StringBuilder();
while ((line = rd.readLine()) != null) {
result.append(line);
}
JSONObject jsonResponseObject = new JSONObject(result.toString());
我创建了以下 Mocks:
@Mock
private HttpClient mockHttpClient;
private HttpPost mockHttpPost;
private HttpResponse mockHttpResponse;
private HttpEntity mockHttpEntity;
private InputStream mockInputStream;
private InputStreamReader mockInputStreamReader;
private BufferedReader mockBufferedReader;
并有以下when 语句:
Mockito.when(mockHttpClient.execute(mockHttpPost)).thenReturn(mockHttpResponse);
Mockito.when(mockHttpResponse.getEntity()).thenReturn(mockHttpEntity);
Mockito.when(mockHttpEntity.getContent()).thenReturn(mockInputStream);
问题:我是否需要创建所有这些“何时”语句,如果是,那么我需要创建哪些其他语句才能访问存根 JSON?
有什么建议吗?
谢谢
【问题讨论】:
-
请添加更多代码,以便我们能够准确理解模拟对象
-
你是否在使用像 Spring MVC 这样的 Web 框架?