
[Spring] WireMock 로 Feign (ApacheHttp5Client) 테스트시 NoHttpResponseException 발생 케이스와 해결방법
·
Spring
들어가며FeignClient 등 외부 API 를 호출하는 환경에서 테스트를 하기 위해 다음과 같은 방법을 사용할 수 있다.mock 서버 구성Mockito 로 mockingWireMock 사용mock 서버는 Postman 의 Mock Servers 등으로 구성하는 레퍼런스가 꽤 있지만 테스트코드가 아닌 외부 툴에 의존한다는 점과, 그로 인한 호출량 제한 등을 생각해야 하므로 일단은 배제했다. 다음으로 mocking 은 FeignClient 자체의 기능을 테스트하는게 아니라, Feign 을 mocking 해서 이를 의존하는 다른 로직이 정상적으로 실행되는 케이스를 검증하는 것이므로 Decoder 등으로 설정한 Feign 자체 예외 케이스 핸들링에 대한 검증을 할 수 없어 배제했다. 결론적으로 이중 WireM..