PowerMock - mosinn/DOCS-n-Snippets-n-Steps GitHub Wiki
MUST read
https://github.com/powermock/powermock/wiki/Mockito(https://github.com/powermock/powermock/wiki/Mockito)
Snippets
> @RunWith(PowerMockRunner.class) > @PrepareForTest(Static.class)
- Test level repeat repeat repeat for statics
@Test
public void testMethodThatCallsStaticMethod() {
// mock all the static methods in a class called "Static"
PowerMockito.mockStatic(Static.class);
// use Mockito to set up your expectation
Mockito.when(Static.firstStaticMethod(param)).thenReturn(value);
Mockito.when(Static.secondStaticMethod()).thenReturn(123);
// execute your test
classCallStaticMethodObj.execute();
// Different from Mockito, always use PowerMockito.verifyStatic(Class) first
// to start verifying behavior
PowerMockito.verifyStatic(Static.class, Mockito.times(2));
// IMPORTANT: Call the static method you want to verify
Static.firstStaticMethod(param);
// IMPORTANT: You need to call verifyStatic(Class) per method verification,
// so call verifyStatic(Class) again
PowerMockito.verifyStatic(Static.class); // default times is once
// Again call the static method which is being verified
Static.secondStaticMethod();
// Again, remember to call verifyStatic(Class)
PowerMockito.verifyStatic(Static.class, Mockito.never());
// And again call the static method.
Static.thirdStaticMethod();
}
}
Constructors have special way of being tested: PowerMockito.whenNew