您可以 模拟 该
try块的任何句子以引发要捕获的异常。
示例模拟
KeyManagerFactory.getInstance对throw
的调用
NoSuchAlgorithmException。在这种情况下,您将覆盖第一个catch块,必须对捕获的其他异常(KeyStoreException,UnrecoverableKeyException和CertificateException)执行相同的操作
你可以做如下(方法
getInstance是
static,你必须使用PowerMockito代替
Mockito,看到这个问题的更多信息)
@PrepareForTest(KeyManagerFactory.class)@RunWith(PowerMockRunner.class)public class FooTest { @Test public void testGetKeyStore() throws Exception { PowerMockito.mockStatic(KeyManagerFactory.class); when(KeyManagerFactory.getInstance(anyString())).thenThrow(new NoSuchAlgorithmException()); }}希望能帮助到你



