1
我想涵盖此try
块的catch
部分与JUnit。我该怎么做?如何通过JUnit覆盖块捕获
public class ClientCertSocketFactory implements SecureProtocolSocketFactory {
private static final Logger LOGGER = LoggerFactory.getLogger(ClientCertSocketFactory.class);
private SSLSocketFactory sslSocketFactory;
public ClientCertSocketFactory() throws IOException{
String trustStoreFilePath = System.getProperty("javax.net.ssl.trustStore");
try {
TrustManagerFactory trustManagerFactory = CertManagerFactory.loadTrustStore(trustStoreFilePath);
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, trustManagerFactory.getTrustManagers(), null);
this.sslSocketFactory = sslContext.getSocketFactory();
} catch (NoSuchAlgorithmException e) {
LOGGER.error("No Provider supports a TrustManagerFactorySpi implementation for the TLS protocol. Error message: " + e);
} catch (KeyManagementException e) {
LOGGER.error("Error occurred when initializing SSLContext. Error message: " + e);
}
}
}
使init方法抛出这些不同的错误或模拟trustManagerFactory,并使trustManagerFactory.getTrustManagers()抛出这些错误。 – StackFlowed 2014-10-06 13:38:19