TestCode 2

[JAVA] Test code : 2. Service 통합 테스트 (TestContainers 적용)

Java Test cod : 1. Service 단위 테스트단위 테스트는 DB를 사용하지 않아 빠르다는 장점이 있지만, 실제 DB와 연동 했을 때 로직이 의도와 다르게 동작할 수 있다.이러한 문제점을 해결하기 위해 Spring Boot Test를 진행할 수 있다.Service 통합 테스트실제 스프링 환경에서 진행하는 테스트이며,Service의 통합 테스트는 Service 검증 + Repository 검증 + DB 검증이 동시에 진행할 수 있다.하지만 테스트를 위해선 스프링을 가동하면서 생기는 시간이 추가적으로 발생해 단위 테스트보다 상대적으로 시간이 걸린다. 기본적으로 구조는 다음과 같다.import static org.assertj.core.api.Assertions.assertThat;import ..

[JAVA] Test code : 0. Assertions

테스트 코드를 작성할 때 결과값이 예상과 일치하는지 검증하는 것을 Assertion이라고 한다. Spring Boot에서는 spring-boot-starter-tes에 다양한 테스트 도구(JUnit, AssertJ, Mockito등)가 포함되어 있으며, 이 내부의Assertions 클래스를 주로 사용하게 된다. spring-boot-starter-test 확인은 build.gradle에서 확인이 가능하다.하지만 예시와 같이 spring-boot-starter-test가 존재하지 않을 수 있는데이런 경우는 다음과 같다.spring-boot-starter-data-jpa-test가 존재할 때spring-boot-starter-webmvc-test가 존재할 때직접 spring-boot-starter-test를..