신용대출 찾기 서비스 제휴사 mock 서버 개발기 #1
류경린 · 토스 · 토스 기술 블로그
소개
대출 연동 테스트의 안정성과 효율성을 극대화하는 mock 서버 개발기를 공유합니다.
AI 핵심 요약
제휴사 테스트 서버의 불안정한 응답과 특정 고객·퍼널에 맞는 데이터 부족으로 QA와 기능 개발이 지연되는 문제를 해결하기 위해, 사용자·제휴사·퍼널별로 제어 가능한 mock 서버를 구축했습니다. 기존 비즈니스 로직을 바꾸지 않도록 개발 환경에서만 커스텀 헤더를 주입하고, DB 설정으로 동기 응답과 지연 콜백을 제어하며 실제 제휴사 응답 형식에 맞춘 JSON 템플릿을 원장 데이터로 치환합니다. mock을 사용하지 않는 요청과 제휴사 콜백은 relay 방식으로 전달하고, 메신저봇에서 설정을 확인·변경할 수 있게 했습니다. 서비스별 모듈과 DataSource·프로퍼티 구성을 분리해 다른 연동 서비스도 재사용할 수 있도록 했으며, 테스트 환경의 안정성과 활용성을 높였습니다.
- 테스트 전용 헤더는 RestTemplate 인터셉터와 WebClient 필터로 주입하고, @Profile("dev")로 운영 환경과 분리할 수 있습니다.
- 비동기 콜백은 실행 시각을 DB에 저장한 뒤 스케줄러로 처리하고, 중복 실행 방지를 위해 분산 락을 적용합니다.
- JSON 템플릿의 예약어를 원장 데이터로 치환하면 제휴사별 응답 형식을 유지하면서 테스트 데이터를 만들 수 있습니다.
- 서비스별 모듈과 설정 파일을 분리하면 공통 기능을 재사용하면서도 서비스 간 설정 영향을 명확히 관리할 수 있습니다.
비슷한 학습 자료
쉼 없이 도는 테스트, 사람이 어디까지 돌봐야 할까요? - 토스닥터(Toss Doctor)
강연신/안재은/한가영 · 토스 기술 블로그
신용대출 찾기 서비스 제휴사 Mock 서버 개발기 #2
류경린 · 토스 기술 블로그
다이내믹 스크래핑과 전월세대출 이동제의 실행
조민국 · 토스 기술 블로그
nginx 설정 없이 우아하게 서비스 점검하기 (下)
이창섭 · 컬리 기술 블로그
TestContainers로 유저시나리오와 비슷한 통합테스트 만들어 보기
딜리버리프로덕트 김태훈 · 컬리 기술 블로그
DevOps 엔지니어의 Redis Test 분투기 - Part 1
이규원 · 컬리 기술 블로그