[스프링 부트] 30. JUnit 테스트 - 웹 게시판 v5

KangHo Lee's avatar
Nov 29, 2024
[스프링 부트] 30. JUnit 테스트 - 웹 게시판 v5

Repository 테스트 예시

@Import(BoardRepository.class) @DataJpaTest public class BoardRepositoryTest { @Autowired private BoardRepository boardRepository; @Test public void findById_test() { // given Integer id = 1; // when Optional<Board> boardOP = boardRepository.findById(id); Board board = boardOP.get(); // eye System.out.println(board.getTitle()); System.out.println(board.getContent()); } }
  • @Import(BoardRepository.class)
    • BoardRepository 클래스를 사용할 수 있습니다.
  • @DataJpaTest
    • JPA 관련 컴포넌트만 초기화합니다.
      • Entity, EntityManager, Repository 등이 있습니다.
    • 테스트가 끝난 후 데이터베이스 상태를 원래대로 되돌리기 위해 자동으로 트랜잭션을 롤백합니다
  • @Autowired
    • 의존성 주입
  • @Test
    • JUnit에서 테스트 메서드를 표시하는데 사용됩니다.
    • 해당 어노테이션이 붙은 메서드는 테스트 프레임워크에 의해 자동으로 실행됩니다.
  • 테스트에서도 Lombok을 사용하려면 build.gradle의 dependencies 수정이 필요합니다.
    • testCompileOnly 'org.projectlombok:lombok'
    • testAnnotationProcessor 'org.projectlombok:lombok'
    • 2가지를 추가해야 합니다.
dependencies { compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' }
 
Share article

devleekangho