[BackEnd] Test 하는 법(Day 59)

코딩기록·2025년 1월 2일

1. SpringBootTest를 이용한 테스트

  • @SpringBootTest(테스트 하고자 하는 클래스의 의존성 주입)

  • @BeforeEach : 테스트 전에 세팅

  • @Transactional + @Rollback (DB 초기화)

  • @Test(테스트)

  • @DisplayName('테스트에 대한 설명')

  • Assertions.assertThat(검증값).검증조건메소드
    -> 테스트 실패 시 아래와 같이 뜸

// 필요한 어노테이션들을 추가
@SpringBootTest // 스프링이 관리하고 있는 빈들을 모두 불러옴
@Transactional // 각 테스트 메소드가 트랜잭션 내에서 실행되고, 완료 후 롤백됨
@Rollback // 테스트 종료 후 데이터를 초기 상태로 원상복구
class YourTestClass {

    @Autowired
    YourRepository yourRepository;
    
    // 테스트 실행 전에 기본 세팅
    @BeforeEach
    void setUp() {
    }

    // @Test 어노테이션으로 테스트 메소드를 지정
    @Test
    // @DisplayName 어노테이션으로 테스트 설명을 추가
    @DisplayName("테스트 설명을 여기에 작성")
    void yourTestMethod() {
        // given - 테스트를 위해 주어지는 데이터 설정
        YourEntity givenEntity = YourEntity.builder()
                .yourField("값")
                .build();

        // when - 실제 테스트할 코드 실행
        yourRepository.saveYourEntity(givenEntity);

        // then - 테스트 검증 (단언)
        Long entityId = givenEntity.getId(); // 생성된 엔티티의 id를 가져옴
        assertThat(entityId).isNotNull(); // 검증
    }
}

0개의 댓글