前言
本篇文章将说明如何使用PowerMock
对私有方法进行Spy
。关于使用PowerMock
需要引入哪些依赖,请参考PowerMock使用-依赖准备。
正文
被测试类如下如下所示。
public class SpyPrivateMethod {
public boolean isTrue() {
return returnTrue();
}
public boolean returnTrue() {
return true;
}
}
测试类如下所示。
@RunWith(PowerMockRunner.class)
@PrepareForTest(SpyPrivateMethod.class)
public class PowerMockTest {
@Test
public void spyPrivate() throws Exception {
SpyPrivateMethod spyPrivateMethod = PowerMockito.spy(new SpyPrivateMethod());
PowerMockito.doReturn(false).when(spyPrivateMethod, "returnTrue");
assertThat(spyPrivateMethod.isTrue(), is(false));
}
}