Loading...
Spring Framework Reference Documentation 7.0.2의 Working with Web Mocks의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
포괄적인 웹 테스트 지원을 제공하기 위해, TestContext 프레임워크에는 기본적으로 활성화되어 있는 ServletTestExecutionListener가 있습니다. WebApplicationContext를 대상으로 테스트를 수행할 때, 이 TestExecutionListener는 각 테스트 메서드 전에 Spring Web의 RequestContextHolder를 사용하여 기본 thread-local 상태를 설정하고, @WebAppConfiguration으로 구성된 기본 리소스 경로를 기반으로 MockHttpServletRequest, MockHttpServletResponse, 그리고 ServletWebRequest를 생성합니다.
ServletTestExecutionListener는 또한 MockHttpServletResponse와 ServletWebRequest가 테스트 인스턴스에 주입될 수 있도록 보장하고, 테스트가 완료되면 thread-local 상태를 정리합니다.
테스트를 위해 WebApplicationContext를 로드한 후에는, 예를 들어 테스트 픽스처를 설정하거나 웹 컴포넌트를 호출한 후 단언을 수행하기 위해 웹 목과 상호 작용해야 할 수 있습니다. 다음 예제는 어떤 목이 테스트 인스턴스에 자동 주입될 수 있는지를 보여줍니다.
WebApplicationContext와 MockServletContext는 둘 다 테스트 스위트 전반에 걸쳐 캐시되는 반면, 다른 목은 ServletTestExecutionListener에 의해 테스트 메서드마다 관리된다는 점에 유의하십시오.
1@SpringJUnitWebConfig 2class WacTests { 3 4 @Autowired 5 WebApplicationContext wac; // cached 6 7 @Autowired 8 MockServletContext servletContext; // cached 9 10 @Autowired 11 MockHttpSession session; 12 13 @Autowired 14 MockHttpServletRequest request; 15 16 @Autowired 17 MockHttpServletResponse response; 18 19 @Autowired 20 ServletWebRequest webRequest; 21 22 //... 23}
1@SpringJUnitWebConfig 2class WacTests { 3 4 @Autowired 5 lateinit var wac: WebApplicationContext // cached 6 7 @Autowired 8 lateinit var servletContext: MockServletContext // cached 9 10 @Autowired 11 lateinit var session: MockHttpSession 12 13 @Autowired 14 lateinit var request: MockHttpServletRequest 15 16 @Autowired 17 lateinit var response: MockHttpServletResponse 18 19 @Autowired 20 lateinit var webRequest: ServletWebRequest 21 22 //... 23}
Loading a WebApplicationContext
Context Caching