安卓 Robolectric提供了java。安全KeyStoreException:未找到AndroidKeyStore
因此,我编写了我的应用程序,使用KeyStore
对数据进行加密/解密。
我还为此编写了一个很好的机器人分子测试,但当我尝试运行该测试时,出现了以下异常:
java.security.KeyStoreException: AndroidKeyStore not found
对于以下代码:
keyStoreInstance = KeyStore.getInstance("AndroidKeyStore");
有什么解决办法吗
我所发现的是: https://github.com/robolectric/robolectric/issues/1518
# 1 楼答案
所以,这背后的原因是,当您通过Robolectric运行时,AndroidKeyStore实现并不存在。 Using the Android KeyStore in Robolectric tests
您可以使用以下方法避免此异常:
如果你有一个类,让我们说一下你的密钥库。类注入到许多其他类中,您仍然可以模拟您的密钥库。类,这使您能够测试其他类。 如果您想测试YourKeystore。类本身,我担心这是不可能的(参见上面的链接)