2025/04/21 3

[Spring][Test] 3. Testing Annotations

1. 주요 애너테이션애노테이션목적@BootstrapWith테스트 컨텍스트 부트스트래퍼를 커스터마이징할 때 사용@ContextConfiguration테스트 컨텍스트를 구성할 설정을 지정(XML, 자바 설정 클래스 등)@WebAppConfigurationWebApplicationContext 로딩을 명시하여 웹 환경에서 테스트MockServletContext 기반 설정@ContextHierarchy부모-자식 컨텍스트 계층 구조를 정의@TestPropertySource테스트용 프로퍼티 파일 또는 인라인 프로퍼티 지정@TestBean (Spring 6.1+)기존 빈을 오버라이드하거나 테스트 전용 빈 정의@MockitoBean기존 빈을 Mock 객체로 대체@MockitoSpyBean기존 빈을 Spy 객체로 래핑@..

Spring/Spring Test 2025.04.21

[Spring Boot][Test] 6. Test

1. Test Scope Dependenciesspring-boot-starter-test에 포함된 주요 라이브러리라이브러리설명JUnit 5Java 애플리케이션 단위 테스트의 표준 프레임워크Spring Test & Spring Boot TestSpring Boot 애플리케이션을 위한 테스트 유틸리티 및 통합 테스트 지원AssertJ직관적이고 유창한 API를 제공하는 assertion 라이브러리Hamcrestmatcher 객체(제약조건 또는 조건자)를 제공하는 라이브러리MockitoJava용 목(mock) 객체 생성 프레임워크JSONassertJSON 형식 데이터를 위한 assertion 라이브러리JsonPathJSON 데이터를 위한 XPath 유사 쿼리 언어Awaitility비동기 시스템을 테스트하기 위..

Spring/Spring Boot 2025.04.21

[Spring][Test] 2. Integration Testing

1. spring-test 모듈외부 시스템과 연결하지 않고도 통합테스트를 하도록 지원함다양한 테스트 프레임워크와 연동됨 (JUnit, TestNG 등) 2. 테스트 클래스에 의존성 주입TestContext테스트 실행 중의 상태와 메타데이터를 캡슐화한 객체입니다.전체 테스트 컨텍스트의 흐름을 관리기능설명🔁 ApplicationContext 관리테스트 시 사용할 스프링 컨텍스트(ApplicationContext)를 생성하고, 재사용을 위해 캐싱함💉 의존성 주입 지원@Autowired, @Value, @MockBean 등을 통해 테스트 클래스에도 빈 주입 가능🔄 트랜잭션 관리@Transactional을 테스트에 적용해 자동 롤백 같은 트랜잭션 기능 제공🔧 테스트 라이프사이클 관리@BeforeEach, ..

Spring/Spring Test 2025.04.21