Loading...
Spring Framework Reference Documentation 7.0.2의 Configuring MockMvcTester의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
MockMvcTester는 두 가지 방식 중 하나로 설정할 수 있습니다. 하나는 테스트하려는 controller를 직접 가리키고 Spring MVC 인프라스트럭처를 프로그래밍 방식으로 구성하는 것입니다. 두 번째는 Spring MVC와 controller 인프라스트럭처를 포함하는 Spring 설정을 가리키는 것입니다.
이 두 가지 모드를 비교하려면 Setup Options를 확인하십시오.
특정 controller를 테스트하기 위해 MockMvcTester를 설정하려면 다음을 사용하십시오:
1public class AccountControllerStandaloneTests { 2 3 private final MockMvcTester mockMvc = MockMvcTester.of(new AccountController()); 4 5 // ... 6 7}
1class AccountControllerStandaloneTests { 2 3 val mockMvc = MockMvcTester.of(AccountController()) 4 5 // ... 6 7}
Spring 설정을 통해 MockMvcTester를 설정하려면 다음을 사용하십시오:
1@SpringJUnitWebConfig(ApplicationWebConfiguration.class) 2class AccountControllerIntegrationTests { 3 4 private final MockMvcTester mockMvc; 5 6 AccountControllerIntegrationTests(@Autowired WebApplicationContext wac) { 7 this.mockMvc = MockMvcTester.from(wac); 8 } 9 10 // ... 11 12}
1@SpringJUnitWebConfig(ApplicationWebConfiguration::class) 2class AccountControllerIntegrationTests(@Autowired wac: WebApplicationContext) { 3 4 private val mockMvc = MockMvcTester.from(wac) 5 6 // ... 7 8}
MockMvcTester는 관련된 HttpMessageConverter가 등록되어 있는 한 JSON 응답 본문 또는 JSONPath 표현식의 결과를 도메인 객체 중 하나로 변환할 수 있습니다.
JSON으로 콘텐츠를 직렬화하기 위해 Jackson을 사용하는 경우, 다음 예제는 컨버터를 등록합니다:
1@SpringJUnitWebConfig(ApplicationWebConfiguration.class) 2class AccountControllerIntegrationTests { 3 4 private final MockMvcTester mockMvc; 5 6 AccountControllerIntegrationTests(@Autowired WebApplicationContext wac) { 7 this.mockMvc = MockMvcTester.from(wac).withHttpMessageConverters( 8 List.of(wac.getBean(AbstractJacksonHttpMessageConverter.class))); 9 } 10 11 // ... 12 13}
1@SpringJUnitWebConfig(ApplicationWebConfiguration::class) 2class AccountControllerIntegrationTests(@Autowired wac: WebApplicationContext) { 3 4 private val mockMvc = MockMvcTester.from(wac).withHttpMessageConverters( 5 listOf(wac.getBean(AbstractJacksonHttpMessageConverter::class.java))) 6 7 // ... 8 9}
위의 내용은 컨버터가 Bean으로 등록되어 있다고 가정합니다.
마지막으로, 사용 가능한 MockMvc 인스턴스가 있다면, 사용할 MockMvc 인스턴스를 create 팩터리 메서드를 사용해 제공하여 MockMvcTester를 생성할 수 있습니다.
AssertJ Integration
Performing Requests