@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(); // 검증
}
}