이를 사용하기 위해서는 mockito 의존을 새로 추가해야된다. mockito-inline 를 추가해야된다. mockito-core를 대체할 수 있다.
testImplementation 'org.mockito:mockito-inline:4.2.0' 정적 메소드를 목킹하기위해서는 먼저 MockedStatic 객체를 만들어야된다. 이 객체는 AutoClosable 이기때문에 try-with-resources로 감싸는게 좋다. try-with-resource 블럭 내부에서는 목킹이 되고, 밖으로 벗어나면 적용되지 않는다.
@Test void givenStaticMethodWithNoArgs_whenMocked_thenReturnsMockSuccessfully() { assertThat(StaticUtils.name()).isEqualTo("Baeldung"); try (MockedStatic<StaticUtils> utilities = Mockito.mockStatic(StaticUtils.class)) { utilities.when(StaticUtils::name).thenReturn("Eugen"); assertThat(StaticUtils.name()).isEqualTo("Eugen"); } assertThat(StaticUtils.name()).isEqualTo("Baeldung"); } @Test void givenStaticMethodWithArgs_whenMocked_thenReturnsMockSuccessfully() { assertThat(StaticUtils.range(2, 6)).containsExactly(2, 3, 4, 5); try (MockedStatic<StaticUtils> utilities = Mockito.mockStatic(StaticUtils.class)) { utilities....