在PowerMockito中有两种方式实现部分mock :
- 使用 thenCallRealMethod
PowerMockito.when(mockService, "methodName").thenCallRealMethod();
- 使用spy
Service spy = PowerMockito.spy(Service.class); //直接调用方法时真实调用 spy.method(parameters); //使用thenReturn 会真实调用,但返回值使用mock的 PowerMockito.when(spy.method(parameters)).thenReturn(someObject); //使用doReturn 不会真实调用方法 PowerMockito.doReturn(someObject).when(spy).method(someObject);