I use PowerMock 1.4.7 and JUnit 4.8.2
I need to mock only some static methods and I want others (from the
same class) just to return original value.
When I mock with mockStatic
and don't call when().doReturn()
all
static methods return their defaults - like null when returning Object
or false when returning boolean...etc. So I try to use
thenCallRealMethod
explicitly on each static method to return
default implementation (means no mocking/ no fakes) but I don't know
how to call it on every possible arguments variations (= I want for every possible input call original method). I only know how to mock concrete argument variation.
You can use a spy on your static class and mock only specific methods:
You can also use the stubbing API:
Edit:
To use
stub
andmethod
statically import methods from these packages:org.powermock.api.support.membermodification.MemberModifier
org.powermock.api.support.membermodification.MemberMatcher
For more info refer to the documentation