🚨 주의
- 이 방법이 베스트 프랙티스인지는 모릅니다(?)
MockMvc에는 alwaysDo(print())
가 있어서 편하고
RestAssured에는 하다 못해 given, then절에 log().all()
이 있는데
WebTestClient에는 이런 명시적인 메서드를 찾기 힘들었음
👉
entityExchangeResultConsumer
를 쓰자
WebTestClient.bindToServer()
.entityExchangeResultConsumer(System.out::println) // 👈
.baseUrl(...)
.build();
WebTestClient.bindToApplicationContext(context)
.configureClient()
.entityExchangeResultConsumer(System.out::println) // 👈
.build();
WebTestClient
과 동일하다MockMvcWebTestClient
.bindToApplicationContext(context)
.configureClient()
.entityExchangeResultConsumer(System.out::println) // 👈
.build();
MockMvc
과 같은 로그를 원하는 경우MockMvcWebTestClient
.bindTo(MockMvcBuilders.webAppContextSetup(context)
.alwaysDo(print()) // 👈
.build())
.build();
도입부에서 이 방법이 최선인지 확답하지 못한 이유는...
뜬금 없게도 Spring Rest Docs에서 alwaysDo
로 검색한 뒤 같은 일을 하는 메서드를 찾은 것이기 때문이다ㅠ