1. 사용한 기술 개념
Spring Boot Test
@SpringBootTest
: Spring Boot 애플리케이션 컨텍스트를 로드하고 통합 테스트를 수행하게
@Transactional
: 테스트가 끝난 후 롤백을 수행하여 테스트 간의 데이터를 격리할 수 있게 함
@DirtiesContext
: 각 테스트 메서드 후에 애플리케이션 컨텍스트를 다시 로드하여 테스트가 독립적으로 수행될 수 있게 함
Spring Test
@AutoConfigureMockMvc
: MockMvc 객체를 자동으로 구성해 실제 서버에 배포하지 않고도 HTTP 요청 및 응답을 테스트할 수 있게 함
@Autowired
: MockMvc, ObjectMapper, HelloRepository 등의 Bean 주입
JUnit 5
ObjectMapper
: JSON 데이터를 객체로 변환하거나 객체를 JSON 데이터로 변환
Jaskson
@Test
, @BeforeEach
, @DisplayName
, @Nested
, @TestMethodOrder
, @Order
, @MethodOrder.OrderAnnotation
: 테스트 메서드와 초기 설정을 정의
AssertJ
assertThat
: 테스트 결과를 검증하는 메서드
2. 적용한 근거 및 목적
- 전체 시스템 검증: Spring Boot 애플리케이션의 전반적인 통합 테스트를 수행하여 애플리케이션의 모든 계층이 예상대로 상호작용하는지 확인
장단점 (근거)
장점