728x90

회사에서 테스트를 하면서 URL 클래스를 모킹해야 하는 일이 생겼다.

 

해당 클래스는 final 클래스였다. 

 

해당 클래스를 모킹하기 위해서는 mockito-inline 의존성을 추가 해야했다. (아래 pom.xml 에 추가)

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

 

그런데 해당 의존성을 추가 했는데,

java.lang.ExceptionInInitializerError
    at org.mockito.internal.exceptions.stacktrace.ConditionalStackTraceFilter.<init>(ConditionalStackTraceFilter.java:17)

이런 오류가 발생하였다.

초기화 과정에서 발생한 에러인 것 같다.

 

해당 오류를 해결하기 위해 열심히 찾아본 결과 mockito의 버전 문제였다.

 

해당 프로젝트 에서는 mockito 1.xx대를 사용하고 있었다. 그래서 4.xx 버전으로 올렸더니 정상실행 되었다.

 

import 문에서 모키토 버전마다 아래와 같이 다른점이 있다고 한다. (더 많겠지만 대표적인 것들만 추려냄)

mockito 1.xx 버전 mockito 4.xx 버전
import static org.mockito.Matchers
import org.mockito.runners.MockitoJUnitRunner
import static org.mockito.ArgumentMatchers
import org.mockito.junit.MockitoJUnitRunner

 

 

 

결론: mockito 버전 올려서 mockito-inline 의존성을 추가 하였더니 됐다

+ Recent posts