JUnit 테스트에서 @Slf4j 사용하려면 build.gradle 파일에 아래 내용을 추가해야 한다.
testAnnotationProcessor 'org.projectlombok:lombok' // 테스트를 위한 세팅 @Slf4j
testImplementation 'org.projectlombok:lombok' // 테스트를 위한 세팅 @Slf4j
그러면 정상적으로 로그를 사용할 수 있다.
아래는 @Slf4j 사용한 예시다.
package com.pnow.repository;
import com.pnow.domain.Category;
import com.pnow.domain.CategoryType;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
import static org.junit.jupiter.api.Assertions.assertEquals;
@Slf4j
//@ExtendWith(SpringExtension.class) //JUnit5 버전
@SpringBootTest //자동으로 h2 데이터베이스 실행함
public class CategoryRepositoryTests {
@Autowired
private CategoryRepository categoryRepository;
@AfterEach //JUnit5
public void cleanup() {
categoryRepository.deleteAll();
}
@Test
public void 카테고리저장_불러오기() {
//given
for (CategoryType category: CategoryType.values()) {
log.info("category : {}",category);
categoryRepository.save(Category.builder().categoryName(category).build());
}
//when
List<Category> categoryList = categoryRepository.findAll();
//then
Category category = categoryList.get(0);
assertEquals(CategoryType.한식, category.getCategoryName());
}
}
실행 결과:
'springboot' 카테고리의 다른 글
[springboot] 스프링에서 Bean 주입 시 @Autowired 사용을 권장하지 않는 이유 (1) | 2024.02.15 |
---|---|
[springboot] 컨트롤러 JUnit 테스트 (0) | 2024.02.14 |
[토이프로젝트] h2-console mv.db 오류 해결 (0) | 2024.02.11 |
[springboot] jpa 엔티티 3점대 jakarta 패키지 주의사항 (0) | 2024.02.11 |
[springboot] IntelliJ에서 jdk17, Springboot3.2.2 설치 및 환경설정 (0) | 2024.02.11 |