为 keystore.load(InputStream,password) 编写测试用例

Writing test case for keystore.load(InputStream,password)

我一直在尝试为 SSLContextCongif.java class 编写测试用例。有一个代码部分,我一直很难为它编写测试用例:

KeyStore ks = KeyStore.getInstance("JKS");

ks.load(new FileInputStream(trustStore), password);

TrustManagerFactory trustManagerFactory = 
TrustManagerFactory.getInstance("PKIX");
trustManagerFactory.init(ks);

我为此编写的测试部分:

keystore=PowerMockito.mock(KeyStore.class);
trustManagerFactory =mock(TrustManagerFactory.class); 

String keys="mockedkeys";     

keystore = KeyStore.getInstance("JKS");
keystore.load(File(keys), password);

trustManagerFactory= TrustManagerFactory.getInstance("PKIX");
trustManagerFactory.init(keystore);

但是问题来了,测试用例在ks.load()处抛出异常设置SSL上下文时发生异常。 {}

我找不到模拟 keystore.load() 函数的方法。所以我用它各自的密码传递了虚拟密钥库文件。工作得很好。