1
이 메서드를 테스트하여 시간 제한이 올바르게 설정되었는지 확인하려고합니다. 내 단위 테스트에서Apache HttpClient의 단위 테스트 시간 초과
public HttpClientBuilder getClientBuilderWithTimeouts(final int connT, final int reqT, final int socketT){
RequestConfig.Builder requestBuilder = RequestConfig.custom();
requestBuilder = requestBuilder.setConnectTimeout(connT);
requestBuilder = requestBuilder.setConnectionRequestTimeout(reqT);
requestBuilder = requestBuilder.setSocketTimeout(socketT);
HttpClientBuilder clientBuilder = HttpClientBuilder.create();
clientBuilder.setDefaultRequestConfig(requestBuilder.build());
return clientBuilder;
}
는 getParams()
는 UnsupportedOperationException
을 던졌습니다하지만. 통합 테스트를 사용하지 않고 어떻게 해결할 수 있습니까?
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.client.config.RequestConfig;
...
@Test
public void testGetClientBuilderWithTimeouts(){
HttpClientBuilder clBuilder = utils.getClientBuilderWithTimeouts(10, 20, 30);
CloseableHttpClient testclient = clBuilder.build();
System.out.println(testclient.getParams().getParameter("http.socket.timeout"));
System.out.println(testclient.getParams().getParameter("http.connection.timeout"));
// asserts ..
}
감사합니다. 시도해 보겠습니다. –
아마도 빌더가 구성된 등록 정보의 값을 공개하도록 풀 요청을 apache-httpclient에 열어야합니다. –