为什么在使用 Powermock 模拟私有方法时调用真正的方法



我在@Before测试方法中使用这样的行来模拟方法:

PowerMockito.when(mockedObject, method(MockedClass.class, "methodIWantToMock")).
            withArguments(Matchers.anyString()).thenReturn("AnyExpectedResult");

我也试过这个:

Whitebox.invokeMethod(mockedObject, "methodIWantToMock", "AnyExpectedResult");

我嘲笑它是因为我不想执行它,但是当执行这些行时,会调用真正的方法,我想避免这种情况。我不知道为什么会发生这种情况以及如何避免它。我在网站和互联网上找不到任何这样的问题。有什么想法吗?谢谢。

刚刚意识到要做到这一点,我需要在注释@PrepareForTest中添加我想模拟的类。

相关内容

  • 没有找到相关文章

最新更新