반응형
스프링부트에서는 MockMvc로 테스트를 하는 방법에는 두 가지가 있습니다.
1. @SpringBootTest와 @AutoConfigureMockMvc
UserController가 존재한다고 가정해보겠습니다.
@SpringBootTest
@AutoConfigureMockMvc
class UserControllerTest() {
@Autowired
private MockMvc mockMvc;
@Test
void register() {
// todo: ...
}
}
스프링부트에서는 Test 클래스를 만들면 @SpringBootTest 어노테이션만 붙어 있습니다.
MockMvc로 테스트를 하기 위해서는 @AutoConfigureMockMvc를 추가적으로 붙여야 합니다.
주의할 점은 Test 클래스에서는 MockMvc를 스프링 컨테이너로부터 주입받을 때 생성자, Setter 방식으로 주입이 불가능합니다. 따라서 필드에 @Autowired를 붙여서 사용해야만 합니다.
2. @WebMvcTest
웹 환경의 테스트를 경량화해서 진행할 수 있는 어노테이션입니다.
@WebMvcTest 아래처럼 적용할 컨트롤러 클래스를 명시해줘야 동작합니다.
@WebMvcTest(UserController.class)
class UserControllerTest() {
@Autowired
private MockMvc mockMvc;
@Test
void register() {
// todo: ...
}
}
반응형
'Programming > Spring Framework' 카테고리의 다른 글
[Jackson] 민감한 데이터를 JsonProperty를 통해 serialize, deserialize 하는 방법 (0) | 2022.01.22 |
---|---|
[스프링] MultipartFile 인터페이스를 활용한 다중 파일 업로드 (0) | 2022.01.15 |
[스프링부트] Tiles, JSP 사용을 위한 Dependency 설정 및 JSP 수정사항 자동 반영하기 (0) | 2021.11.06 |
[스프링] HandlerMethodArgumentResolver에 대해 알아보자 (0) | 2021.06.09 |
[스프링부트] AWS S3에 파일 업로드 하기 (0) | 2021.06.05 |