티스토리 뷰
반응형
오늘은 스프링 프레임워크 또는 부트를 개발하면서 제일 많이 생성하게 되는 클래스 중 하나인 Test 클래스를 생성하는 방법과 사용법에 대해 간단히 설명하고자 합니다.
1. 기본형
기본적으로 생성하는 클래스의 원형은 아래처럼 됩니다.
@SpringBootTest
public class SpringAppTestClass {
@Test
void nameTest() {
}
}
그치만 테스트를 진행하면서 부팅 속도가 상당히 느리다면, 이는 기본적으로 Spring Boot 를 실행하면서 연결되는 모든 Bean들을 가져오는 시간이므로 이 시간을 사용하면서 테스트를 진행하는 것은 굉장히 비효율적입니다.
2. 변형형
그러면 기본형이 아닌 테스트에 필요한 Bean만 불러오는 방법은 없을까요? 당연히 있습니다.
a. @WebMvcTest
위 어노테이션은 Web MVC에 관련된 Bean만 불러오게 됩니다. 즉, Model View Controller에 해당하는 어노테이션만 불러와 테스트를 진행하게 됩니다.
b. @WebFluxTest
여기서는 위에서 Web MVC를 불러오는 것과 마찬가지로 WebFlux와 관련된 어노테이션을 가져오고, WebTestClient를 사용할 수 있습니다.
c. @DataJpaTest
이 테스트는 주로 JPA Repository를 테스트하기 위한, 즉 쿼리를 테스트하기 위한 테스트 어노테이션입니다.
d. @WithMockUser
위 어노테이션은 Spring Security를 사용할 때 유용합니다. 시큐리티에서는 별도의 인증이 필요하지만 여기서는 인증용 사용자를 생성해주므로 불필요한 인증과정이 생략 가능합니다.
반응형
'Server' 카테고리의 다른 글
[Shell Script] 2탄 - 조건문, 반복문과 연산자에 대해 알아보기 (0) | 2023.06.12 |
---|---|
[Shell Script] 1탄 - 기본 설정과 명령어에 대해 알아보기 (0) | 2023.06.12 |
[Java] LinkedList 와 ArrayList 비교 (0) | 2023.06.06 |
[AWS] Error message: Unable to execute HTTP request: Connect to email.ap-northeast-2.amazonaws.com 에러 해결 로그 (1) | 2023.05.24 |
Command Line Interface에서 프로젝트의 버전을 확인하는 방법 (0) | 2023.04.29 |
[MySQL] Insert Select 로 한 번에 쿼리 수행하기 (0) | 2023.04.27 |
댓글
공지사항