MOCK
mock servlet environment으로 내장 톰캣 구동 ❌
RANDOM_PORT, DEFINED_PORT
내장 톰캣 사용
NONE
서블릿 환경 제공 안함
@SpringBootTest의 WebEnvironment의 기본 값은 Mock이다. Mocking된 Dispatcher servlet에 요청을 보낼 수 있으나 interaction을 위해서는 MockMVC가 필요하다.
MockMVC를 사용하기 위해서는 @AutoConfigureMockMVC가 있어야 한다. MockMvc는 서블릿 컨테이너의 구동 없이, 시뮬레이션된 MVC 환경에 모의 HTTP 서블릿 요청을 전송하는 기능을 제공하는 클래스다.
restTemplate, testRestTemplate, testWebClient(webTestClient)를 사용해야한다.
위 내용은 모두 다 통합 테스트에 대한 내용이다.
Spring main application을 찾아가 모든 bean을 스캔한다(MockBean(@MockBean)이 있는 경우 해당 bean을 MockBean으로 대체된다).