jac*_*ine 6 java android robolectric android-keystore
我正在尝试编写一些针对Android Keystore的测试用例.但是,当我编写以下测试用例时:
@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class, sdk = 21)
public class FancyPantsUnitTest {
@Test
public void buildKey() {
keyPairGenerator = KeyPairGenerator.getInstance("RSA", "AndroidKeyStore");
keyPairGenerator.initialize(4096);
final KeyPair keyPair = keyPairGenerator.generateKeyPair();
}
}
Run Code Online (Sandbox Code Playgroud)
这失败,出现以下异常:
org.junit.ComparisonFailure: expected:<null> but was:<java.security.KeyStoreException: AndroidKeyStore not found>
Run Code Online (Sandbox Code Playgroud)
如果有帮助,我的目标是API等级23.
已经在https://github.com/robolectric/robolectric/issues/1518上对此进行了讨论.
简而言之:
来自java.security.Security javadoc:
安全属性的默认值是从特定于实现的位置读取的,该位置通常是Java安装目录中的属性文件lib/security/java.security.
...我们可能不想鼓励人们跟你一起玩.
看起来这需要一个方法拦截规则......
尝试使用PowerMockito时会发生同样的情况.
归档时间: |
|
查看次数: |
2032 次 |
最近记录: |