java - 使用 PowerMockRunner 而不是使用 MockitoJUnitRunner 时出现 EncryptionInitializationException

标签 java junit mockito junit4 powermockito

当我使用 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/

相关文章:

java - 如何从外部网页内容目录读取文件

java - "instanceof"与 assertEquals 的 assertTrue

java - Mockito 的when() 没有 stub 父类(super class)的方法

java - 使用 Spring 事务的 JUnit 多线程测试

java - 模拟传递给回调的参数(lambdas)

spring-boot - @WebMvcTest 发现状态 404 且服务返回 null

java - 使用Gradle替换不同环境的恒定路径

java - Tomcat 不读取链接作为参数

java - 用有理指数计算复数

java - 通过命令行运行 Junit 测试