SpringBoot
[SpringBoot] 스프링 통합 테스트
hyeseo
2022. 12. 15. 10:46
스프링 통합 테스트
📌 스프링 통합 테스트
- 스프링 컨테이너와 DB까지 연결한 통합 테스트 입니다.
- 테스트는 반복 할 수 있어야 합니다.
- 스프링 컨테이너 없이 테스트를 할 땐 단위 테스트로 합니다.
☘️ 스프링 통합 테스트 코드 작성하기
1. 기존 단위 테스트가 작성되어 있다면 복사하여 클래스 이름만 변경합니다.
- 없다면 단축키 : cmd + shift + t > Create New Test를 선택하여 테스트 클래스를 생성합니다.
2.스프링 통합 테스트 애노테이션을 작성합니다.
@SpringBootTest : 스프링 컨테이너와 테스트를 함께 실행합니다.
@Transactional : 테스트 케이스에 이 애노테이션이 있으면, 테스트 시작 전에 트랜잭션을 시작하고, 테스트 완료 후에 항상 롤백합니다.이렇게 하면 DB에 데이터가 남지 않으므로 다음 테스트에 영향을 주지 않는다. (테스트를 반복할 수 있습니다.)
@SpringBootTest
@Transactional
class MemberServiceIntegrationTest {
@Autowired
MemberService memberService;
@Autowired
MemberRepository memberRepository ;
...
3. 스프링 통합 테스트를 합니다.
속도 비교를 위해 단위테스트도 실행합니다.
단위테스트 속도가 훨씬 빠른걸 확인 할 수 있습니다.