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

Why when mocking a private method using Powermock is calling the real method?

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

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

我也试过这个:

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

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

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