如何解决PowerMockRunner 导致 Mockito Mocks 失败
我有一个单元测试,我需要在其中模拟静态方法以及模拟传统 Java 服务对象上的一些方法。
我使用 PowerMockito 作为模拟框架。
测试的顶部看起来像这样
@RunWith(PowerMockRunner.class)
@PrepareForTest({ConfigurationManager.class})
public class PolicyServiceClonePolicyTest {
@Rule
public EnvironmentVariables environmentVariables = new EnvironmentVariables();
@Rule
public ExpectedException expectedException = ExpectedException.none();
@InjectMocks
public Service1 uut;
@Mock
public Service2 srv2;
在我拥有的其中一种测试方法中
when(srv2.findById(1L)).thenReturn(Optional.of(dbRow));
如果我在没有 @RunWith(PowerMockRunner.class)
的情况下运行测试,则模拟工作正常。
如果我将 @RunWith(PowerMockRunner.class)
放在类的顶部,那么模拟将不起作用。
我的 pom.xml 中有以下内容
<powermock.version>2.0.2</powermock.version>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito2</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
当我引入 @RunWith(PowerMockRunner.class)
时,为什么我的模拟无法触发
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。