#Test
[Test] SpringbootTest 더미 데이터 입력하기
22 May 2024 / 14:16

Test용 더미 데이터를 입력하는 방법은 여러가지이다.

그 중 한 가지 방법은 미리 작성해놓은 Sql 파일을 불러오는 것이다.

PostServiceTest class에

@Sql(script = "/파일_위치", excutionPhase = ExecutionPhase.BEFORE_TEST_METHOD)

를 작성해 준다.

ExcutionPhase.BEFORE_TEST_METHOD 는 매 TEST 메서드가 실행되기 전에 지정한 Sql 파일이 실행된다.

Sql을 불러오는 타이밍은 총 4가지가 있다.

BEFORE_TEST_CLASS,
AFTER_TEST_CLASS,
BEFORE_TEST_METHOD,
AFTER_TEST_METHOD;

@Sql(script = "/clear.sql", excutionPhase = ExecutionPhase.AFTER_TEST_METHOD)

clear.sql 을 각 메서드가 실행되고 난 후에 실행시켜 데이터를 초기화 할 수 있다.

혹은

@Sql(script = "/PostService.sql", excutionPhase = ExecutionPhase.BEFORE_TEST_CLASS)

@Transactional

클래스가 생성되기 전에 sql 파일을 실행하고, Transactional 을 통해 각 테스트에서 데이터가 롤백되어 데이터를 원래 상태로 되돌릴 수 있다.

이를 통해 테스트 환경을 준비할 수 있다.

@Designed By gomdolog.