junit에서 DB 테스트하는 방법입니다.
테스트 코드를 설명하면 아래와 같습니다.
15라인: 스프링 부트 어플리케이션의 컨텍스트를 초기화합니다.
이 어노테이션은 스프링 부트 프로젝트의 설정 및 빈들을 초기화하기 때문에 느리다는 단점이 있습니다.
테스트에 필요한 빈들만 사용하고 싶다면 classes 속성을 사용하면 됩니다.
ex) @SpringBootTest(classes = {PayServiceImpl.class, PayRepositoryImpl.class})
16라인: 해당 테스트 클래스의 메소드에 트랜잭션을 적용합니다.
19~20라인: PayServiceImpl에서 사용하는 payRepository 빈을 주입합니다.
22라인: junit에서 테스트하는 메소드를 정의합니다.
25~26라인: payRepository를 통해 데이터를 조회하고 null이 아닌지 확인합니다.
테스트 코드를 실행하면 정상적으로 종료된 것을 확인할 수 있습니다.
개발할 때 프로젝트를 실행해서 DB 접속이 되는지 확인했는데
junit을 사용해서 확인하면 좋을 것 같습니다.
'dev > JUnit' 카테고리의 다른 글
JUnit5 MethodSource (0) | 2024.04.25 |
---|---|
JUnit5 Controller ParameterizedTest (0) | 2023.10.16 |
JUnit5 Controller Test (0) | 2023.10.10 |