mockito - Mockito doNothing with Mockito.mockStatic
问题描述
I'm using Mockito, along with mockito-inline for mocking static methods. I'm trying to apply doNothing
or similar behavior, to a static void method. The following workaround work, but I think that there should have a more convenient way to achieve this with less code.
try (MockedStatic<UtilCalss> mock = Mockito.mockStatic(UtilCalss.class)) {
mock.when(() -> UtilCalss.staticMethod(any()))
.thenAnswer((Answer<Void>) invocation -> null);
}
If it's a non-static method, we could simply do:
doNothing().when(mock).nonStaticMethod(any());
But I want to do the same for a static method.
解决方案
You don't need to stub that call.
doNothing
is a default behaviour of a void
method called on a mock.