46.3.11 자동 구성된 Spring WebFlux 테스트
Spring WebFlux 컨트롤러가 예상대로 작동하는 지 테스트하려면 @WebFluxTest 어노테이션을 사용할 수 있습니다. @WebFluxTest
는 Spring WebFlux 인프라를 자동으로 구성하고 스캔 빈을 @Controller
, @ControllerAdvice
, @JsonComponent
, Converter
, GenericConverter
, 및WebFluxConfigurer
로 제한합니다. @WebFluxTest
어노테이션을 사용하면 일반 @Component
빈은 검색되지 않습니다.
Jackson Module
과 같은 추가 구성 요소를 등록해야하는 경우 테스트에서 @Import
를 사용하여 추가 구성 클래스를 가져올 수 있습니다.
종종 @WebFluxTest
는 단일 컨트롤러로 제한되며 @MockBean
어노테이션과 함께 사용하여 필요한 공동 작업자에게 모의 구현을 제공합니다.
@WebFluxTest
는 또한 전체 HTTP 서버를 시작하지 않고도 WebFlux 컨트롤러를 신속하게 테스트 할 수 있는 강력한 방법을 제공하는 WebTestClient
를 자동 구성합니다.
@AutoConfigureWebTestClient
로 어노테이션을 달아 non-@WebFluxTest
(예 : @SpringBootTest
)에서 WebTestClient
를 자동 구성 할 수도 있습니다. 다음 예제에서는 @WebFluxTest
와 WebTestClient
를 모두 사용하는 클래스를 보여줍니다.
이 설정은 모의 웹 응용 프로그램에서 WebTestClient
를 사용하는 순간 WebFlux에서만 작동하므로 WebFlux 응용 프로그램에서만 지원됩니다.
@WebFluxTest
는 기능 웹 프레임 워크를 통해 등록된 경로를 감지 할 수 없습니다. 컨텍스트에서 RouterFunction
Bean을 테스트하려면 @Import
를 통해 자신의 RouterFunction
을 가져 오거나 @SpringBootTest
를 사용하여 가져 오는 것이 좋습니다.
@WebFluxTest
는 SecurityWebFilterChain
유형의 @Bean을 통해 등록 된 사용자 지정 보안 구성을 검색 할 수 없습니다. 이를 테스트에 포함 시키려면 @Import
를 통해 Bean을 등록하는 구성을 가져 오거나 @SpringBootTest
를 사용해야합니다.
Last updated
Was this helpful?