我无法模拟一个类(使用 PowerMock 的 createMock 方法)。此类正在其构造函数中创建 ThreadSafeClientConnManager 类的对象。我在调用 createMock 方法并传递我的类名的那一行出现异常。以下是异常堆栈跟踪。但是,如果我运行集成测试,它工作正常。可能是什么问题 ?
[junit] Caused by: java.lang.IllegalStateException: Failure initializing default SSL context
[junit] at org.apache.http.conn.ssl.SSLSocketFactory.createDefaultSSLContext(SSLSocketFactory.java:211)
[junit] at org.apache.http.conn.ssl.SSLSocketFactory.<init>(SSLSocketFactory.java:333)
[junit] at org.apache.http.conn.ssl.SSLSocketFactory.getSocketFactory(SSLSocketFactory.java:165)
[junit] at org.apache.http.impl.conn.SchemeRegistryFactory.createDefault(SchemeRegistryFactory.java:45)
[junit] at org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager.<init>(ThreadSafeClientConnManager.java:98)
[junit] at com.amazon.marketplace.payment.tsf.TSFClient.<init>(TSFClient.java:109)
[junit] at com.amazon.marketplace.payment.tsf.TSFClient.<clinit>(TSFClient.java:95)
[junit] Caused by: java.security.NoSuchAlgorithmException: class configured for KeyManagerFactory: com.sun.net.ssl.internal.ssl.KeyManagerFactoryImpl$SunX509 not a KeyManagerFactory
[junit] at sun.security.jca.GetInstance.checkSuperClass(GetInstance.java:242)
[junit] at sun.security.jca.GetInstance.getInstance(GetInstance.java:221)
[junit] at sun.security.jca.GetInstance.getInstance(GetInstance.java:147)
[junit] at javax.net.ssl.KeyManagerFactory.getInstance(KeyManagerFactory.java:121)
[junit] at org.apache.http.conn.ssl.SSLSocketFactory.createSSLContext(SSLSocketFactory.java:184)
[junit] at org.apache.http.conn.ssl.SSLSocketFactory.createDefaultSSLContext(SSLSocketFactory.java:209)