当我使用 MockitoJunitRunner 测试以下函数时,它按预期工作正常。但是当我使用 PowerMockRunner 运行相同的测试时,出现以下异常:
org.jasypt.exceptions.EncryptionInitializationException:
java.security.NoSuchAlgorithmException: PBEWithMD5AndDES SecretKeyFactory not available
functionToBeTested() {
Encryptor.encrypt(this.getIgvToken(), "IGVKEY123");
}
我想知道为什么当我使用 PowerMockRunner 时它会抛出异常。这是我的依赖项:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.6.5</version>
</dependency>
最佳答案
我面临着确切的问题,但不幸的是这个解决方案无法帮助我。通过在我的类中添加 @PowerMockIgnore ("javax.crypto.*")
解决了这个问题,如以下链接所示:
SecretKeyFactory.getInstance() throws exception for all algorithms in unit tests
关于java - 使用 PowerMockRunner 而不是使用 MockitoJUnitRunner 时出现 EncryptionInitializationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40618602/