Java 为什么在使用Powermock模拟私有方法时调用的是真正的方法?
我在Java 为什么在使用Powermock模拟私有方法时调用的是真正的方法?,java,unit-testing,mocking,mockito,powermockito,Java,Unit Testing,Mocking,Mockito,Powermockito,我在@Before测试方法中模拟了一个方法: PowerMockito.when(mockedObject, method(MockedClass.class, "methodIWantToMock")). withArguments(Matchers.anyString()).thenReturn("AnyExpectedResult"); 我也试过这个: Whitebox.invokeMethod(mockedObject, "methodIWantToMock",
@Before
测试方法中模拟了一个方法:
PowerMockito.when(mockedObject, method(MockedClass.class, "methodIWantToMock")).
withArguments(Matchers.anyString()).thenReturn("AnyExpectedResult");
我也试过这个:
Whitebox.invokeMethod(mockedObject, "methodIWantToMock", "AnyExpectedResult");
我模拟它是因为我不想执行它,但是当执行这些行时,会调用真正的方法,我想避免这种情况。
我不知道为什么会发生这种情况,也不知道如何避免。
我在网站和互联网上都找不到类似的问题。
有什么想法吗?
谢谢。刚刚意识到,要做到这一点,我需要在注释
@PrepareForTest
中添加我想要模拟的类