이야기를 나눠요
140만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부
webfluxtest를 통한 테스트
webfluxtest를 통한 테스트 수고많으십니다. mvc만 쓰면서 개발하다보니 junit은 사실 개발을 위한 개발처럼 보여서 쓰지않았습니다. 헌데 reactive로 하려니 하아... junit을 안쓸수가 없겠더군요. 교과목은 아니지만 연관은 있어서 문의하나만 드려봅니다. 한 며칠고민하고 찾아봐도 답이 딱히 나오질않아서 의견을 여쭙거나 합니다. spring boot 3.2 를쓰고있습니다. reactive redis를 사용하려니 spring.io에서 제공하는 방법은 ReactiveRedisOperations를 사용하도록 해서 사용하고있습니다. 이걸 서비스에서 만들고 RestController에서 쓰고있습니다. 이 controller를 @WebfluxTest 로 테스트 하려고 했더니. 주입이 안되어서 에러가 발생하는 상황입니다. @Import등으로 직접 넣어주는데 Controller 에서 서비스 리파지토리정도야 주입해서 넣어야하는건 그럴수있다고 해도 @Configuration에서 등록한 Redis connection factory까지 넣어주어야 한다면 이게 일을 위한 일이 되어버리는 상황이 되겠는데. 지금 내가 테스트를 하는건지 개발을 해야하는건지 의문이 들정도입니다. 아 그리고 @MockBean을 써도 해당 method를 찾지못하기도 하지만 controller 에서 테스트하고싶은것은 repository - service - controller 까지 최종테스트를 하는건데. 이걸 mockbean으로 하는것도 큰의미가 없어보입니다. controller부분이야 많이 만들수밖에 없을텐데 이때마다 두배의 코딩량을 늘려야하는건 아닌것같은데. 이를 좀더 효율적으로 테스트및 디버깅을 할수는 없는지 궁금하여 문의드립니다.
-
Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부
Spring MVC + Servlet 3.1 이상 model과 Spring Webflux
스프링 MVC + Servlet 3.1 이상 모델을 사용할 경우 비동기, 논블록킹이 가능하다고 들었습니다. Spring mvc내의 일부 getParameter, Filter 등의 함수나 일부 지원 api 들이 블로킹 api 들이 많기 때문에 Servlet 3.1 이상의 버전을 쓰더라도 Webflux만큼의 성능이 나오지 않는다고 구글링 하다보니 찾게 되었는데 이 정보가 정확한지 궁금합니다.