PowerMock - 模拟私有方法不起作用



我试图用PowerMock模拟一个私有方法,但我模拟的方法总是返回0。我给你看我的课,看看你能不能帮我。谢谢。

服务类

public int getNumber() { return getNumberPriv(); }
private int getNumberPriv() {
return 2;
}

ServiceTest.class

@SpringBootTest
@ActiveProfiles("test")
@RunWith(PowerMockRunner.class)
public class SharepointServiceTest {
@Test
public void fakeTest() throws Exception {

SharepointServiceImpl mock = PowerMockito.spy(new SharepointServiceImpl());
PowerMockito.doReturn(7).when(mock, "getNumberPriv");

int result = mock.getNumber(); //Always return 0

assertNotNull(result);
assertEquals(7, result);
}}

可能类似于您不能模拟对方法的调用"在";当前类。没有办法拦截真正的调用,因此也没有办法模拟响应。

最新更新