Springboot 2.X JUnit5 버전 테스트 클래스에서 lombok 사용시 에러 발생
Springboot 2.X 버전에서는 Junit5 버전을 사용한다. 기존의 Junit4 버전보다는 사용하는 방법이 간단해지면서 테스트 코드를 작성하기 훨씬 수월해졌다.
만약 Springboot 2.X 버전 , Junit5 환경에서 테스트 코드 작성시 롬복을 사용하였는데 빌드에러가 발생한다면.. build.gradle 파일의 test 를 위한 빌드 설정을 넣어줘야 한다.
에러 내용
error: package lombok.extern.slf4j does not exist import lombok.extern.slf4j.Slf4j;
기존 build.gradle 파일
x
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
annotationProcessor 'org.projectlombok:lombok'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
test 부분 빌드 config 추가
x
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
annotationProcessor 'org.projectlombok:lombok'
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
아래 부분에 testCompileOnly , testAnnotationProcessor 에 해당하는 롬복 라이브러리 빌드 설정 후 테스트를 실행하면 롬복을 통한 어노테이션이 있는 테스트 클래스 에서도 에러없이 실행 시킬 수 있다.