오늘은 스프링 테스트 코드를 짜면서 에러가 있었다.
별 건 아니고 Static Method 를 이용하고 있었는데
Mockito 를 사용하여 테스트 코드를 작성하는데 에러가 발생한 것이다.
제목과 같이 mockmaker subclassbytebuddymockmaker does not support the creation of static method
에러 메세지가 떴는데 이는 mockito 3.4 이상 버전에서
서로 충돌이 나는 dependency 가 있기 때문이라고 들었다.
해결 방법은 간단하다.
maven 을 사용한다면 pom.xml 파일의 dependency에
gradle 을 사용한다면 build.gradle 파일의 dependencies에
각각 mock inline 을 추가해주면 된다.
<!-- MAVEN -->
<!-- https://mvnrepository.com/artifact/org.mockito/mockito-inline -->
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
<version>2.7.21</version>
<scope>test</scope>
</dependency>
//GRADLE
// https://mvnrepository.com/artifact/org.mockito/mockito-inline
testImplementation 'org.mockito:mockito-inline:2.7.21'
test 할 때만 사용하므로
testImplementation 을 하는 것에 주목하자.
test 시에만 dependency 가 생성되므로
배포시 부담이 적다.
'백앤드' 카테고리의 다른 글
[Spring] @SuperBuilder 에러, Builder 를 찾지 못했습니다 에러 (0) | 2023.03.13 |
---|---|
SQL 한 컬럼에 있는 여러 값을 여러 컬럼으로 분리해서 합치기 (0) | 2023.02.28 |
java.time.format.DateTimeParseException: Text could not be parsed at index 0 (0) | 2023.02.27 |