IMLC.ME

How to mock static method using Mockito

Since version 3.4.0, Mockito supports the mocking of static method.

To get started, you need to add mockito-inline or change your "mockito-core" to "mockito-inline" as dependency.

<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-inline</artifactId>
    <version>4.3.1</version>
    <scope>test</scope>
</dependency>

And it's ready to mockStatic()

assertEquals("foo", Foo.method());
try (MockedStatic mocked = mockStatic(Foo.class)) {
    mocked.when(Foo::method).thenReturn("bar");
    assertEquals("bar", Foo.method());
    mocked.verify(Foo::method);
}
assertEquals("foo", Foo.method());

References

48. Mocking static methods (since 3.4.0)