목록JUnit5 (3)
공부하는 스누피
JUnit5란? JUnit은 자바 Unit Testing 프레임워크로, JUnit5는 이전 버전과는 다르게 3개의 서브 프로젝트로 구성되어 있습니다. JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage JUnit Platform JVM에 테스트용 프레임워크를 실행시키는 기반 역할을 하며, JUnit4 베이스의 테스트 환경(Test Engine)을 제공한다. JUnit Jupiter JUnit5에서 쓰이는 프로그래밍 모델과 확장 모델을 제공합니다. Jupiter 베이스의 테스트 환경(Test Engine)을 제공한다. JUnit Vintage JUnit3, JUnit4 베이스의 테스트를 지원한다. 환경 요구사항 Java 8 이상 (테스트 대상이 되는 코드는..
1. 개요 Testcontainers는 JUnit test를 지원하는 Java 라이브러리로, Docker로 작동시킬 수 있는 일반 DB, 셀레니움같은 인스턴스들을 간편하게 테스트용으로 사용할 수 있게 한다. Testcontainers의 장점은 다음과 같다. * 데이터 액세스 레이어 통합 테스트: MySQL, PostgreSQL, Oracle 데이터베이스의 컨테이너화된 인스턴스를 사용해 데이터 액세스 레이어 부분의 코드를 테스트할 수 있다. * 통합 테스트 : 데이터 액세스 레이어뿐만 아니라 전체 애플리케이션 통합 테스트를 지원한다. * UI/인수 테스트 : 셀레니움을 지원해 각 테스트가 독립된 인스턴스의 브라우저에서 실행된다. dev 데이터베이스는 주로 테스트용으로 쓰이지만, 테스트 데이터가 격리되지 않..
API 통합 테스트 JUnit에서 제공하는 mockMvc는 api 호출을 통해 테스트를 수행합니다. 예상되는 응답을 설정할 수 있고, 실제 응답이 예상과 다를 경우 assert를 던져 테스트가 실패하도록 합니다. Test Context 설정 @ExtendWith(SpringExtension.class) @SpringBootTest(classes = SpringApplication.class, properties = { ".../application-test.yaml", ".../application.yaml" }) @ActiveProfiles("test") public abstract class TestSupport{ } - 테스트 클래스가 이 클래스를 상속 받게 하면 클래스 별로 Test Context..