【发布时间】:2016-11-16 03:41:30
【问题描述】:
我是用 Java 编写单元测试用例的新手,我正试图弄清楚我应该如何为我的 http 客户端模拟我的测试用例。我正在尝试测试以下功能:
public HttpResponse getRequest(String uri) throws Exception {
String url = baseUrl + uri;
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
HttpGet get = new HttpGet(url);
get.setHeader(AUTHORIZATION_HEADER, authorization);
get.setHeader(ACCEPT_HEADER, APPLICATION_JSON);
HttpResponse response = httpClient.execute(get);
return response;
}
我不想实际调用 url 并访问服务器,我只想尝试模拟我可以从服务器获得的所有响应,例如 500 或 200 或套接字错误。我研究了 Mockito 库来模拟 java 函数,但我读过 Mockito 不能用于静态方法。
有人可以指导我如何为此编写单元测试吗?另外,由于在函数内部创建了 httpClient,这是测试的好习惯吗?
【问题讨论】:
-
您能否详细说明您的问题与your previous one here 有何不同?
标签: java unit-testing mockito powermockito