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にプルリクエストをオープンすることがあります。 –