-
[Spring] Test 코드에서 @Slf4j 사용하기Framework/Spring 2022. 5. 3. 21:57
스프링으로 서버를 작성하다가 테스트 코드 작성할 때 로그를 출력해야할 때가 있다.
일반적으로 스프링 부트로 개발을 할 때 lombok 라이브러리는 거의 필수이므로, @Slf4j를 쉽게 어노테이션 형식으로 사용하곤 한다.
(@Slf4j는 Simple Logging Facade for Java의 줄임말로 로깅을 위해서 사용된다고 보면 된다.)
사용법은 간단하다. 일반 클래스에서는 다음과 같이 사용한다.
@Slf4j @RequiredArgsConstructor @RequestMapping("/v1/api/members") @RestController public class MemberController { @PostMapping public String createMember(@RequestBody @Validated MemberCreateRequest memberCreateRequest) { log.info("정보 확인 ->{}", memberCreateRequest); return "success"; } }
프로젝트 경로에서 test 내부에 테스트 코드를 만들고 일반적인 서버에서 사용하듯 클래스 최상위에 동일하게 적어주면 된다.
@Slf4j @SpringBootTest class OrderControllerTest {
그런데 기본 세팅에서는 테스트코드에서는 @Slf4j라고 쓴다고 해서 바로 사용할 수 없다.
gradle설정이 추가로 필요하다.
build.gradle 파일에 dependencies 항목에 다음과 같이 추가하면 된다.
testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok'
이렇게 넣어주고 sync를 다시 맞추고 테스트 코드에서 적으면 잘 동작하는 것을 확인할 수 있다.
'Framework > Spring' 카테고리의 다른 글
[Spring] Java 8 LocalDateTime 직렬화/역직렬화 오류 해결 (0) 2023.05.30 [Spring] Querydsl select null 처리 (0) 2023.03.17 [Spring] Domain time mapping (0) 2022.04.25 [Spring] request에서 enum으로 값 전달받기 (0) 2022.03.15 [Spring] Querydsl 동적 쿼리 (0) 2022.03.04