我得到NoSuchAlgorithmException以下代码:
@RunWith(PowerMockRunner.class)
@PrepareForTest({CloudWatchHelper.class})
class MyTest {
....
final SSLContext sslcontext = SSLContext.getInstance("TLS");
...
}
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪:
[junit] class configured for SSLContext: sun.security.ssl.SSLContextImpl$TLSContext not a SSLContext
[junit] java.security.NoSuchAlgorithmException: class configured for SSLContext: sun.security.ssl.SSLContextImpl$TLSContext not a SSLContext
[junit] at sun.security.jca.GetInstance.checkSuperClass(GetInstance.java:260)
[junit] at sun.security.jca.GetInstance.getInstance(GetInstance.java:237)
[junit] at sun.security.jca.GetInstance.getInstance(GetInstance.java:164)
[junit] at javax.net.ssl.SSLContext.getInstance(SSLContext.java:156)
Run Code Online (Sandbox Code Playgroud)
我想知道背后的原因是什么NoSuchAlgorithmException。
在我的测试类中添加以下批注为我解决了此问题:
@PowerMockIgnore({ "javax.net.ssl.*", "javax.security.*" })
Run Code Online (Sandbox Code Playgroud)
dop*_*ime -5
我意识到我得到例外是因为:
@RunWith(PowerMockRunner.class)
@PrepareForTest({CloudWatchHelper.class})
Run Code Online (Sandbox Code Playgroud)