Show GN: cuesheet - 링크 하나로 MSW 응답을 바꿔, AI도 QA도 상황별 화면을 확인하는 도구
요약
본 글은 MSW(Mock Service Worker) 사용 시 발생하는 상황별 응답 변경의 불편함을 해결하는 도구를 소개합니다. 이 도구는 쿼리 파라미터(`?cue=...`)를 통해 다양한 Mock 응답(빈 목록, 에러 등)을 쉽게 선택하고 적용할 수 있게 합니다. 이를 통해 AI 개발자나 QA 엔지니어도 특정 상황의 화면을 재현하고 테스트 케이스를 공유하는 것이 매우 용이해졌습니다.
핵심 포인트
- MSW 사용 시 상황별 응답 변경의 번거로움을 해결함.
- 쿼리 파라미터 기반으로 다양한 Mock 시나리오(에러, 빈 목록 등)를 구현.
- AI 개발자에게 테스트 환경을 제공하여 QA 및 검증 과정을 효율화함.
- Playwright와 연동하여 QA가 링크만 복사해 버그 제보 가능.
회사에서 새 서비스를 만들면서 프론트 코드의 상당 부분을 AI로 짜고 있습니다. 새 제품이라 백엔드도 같이 개발되는데, API가 프론트보다 늦게 나오는 경우가 많고, 나와도 실제 서버에서는 빈 목록이나 에러 같은 상황을 만들기가 어려웠습니다. 그래서 프론트를 독립적으로 빠르게 개발하려고 MSW를 도입했습니다.
그런데 MSW로 옮기니 이번엔 상황을 바꿀 때마다 핸들러 코드를 고쳐야 했습니다. 빈 목록을 보려면 응답을 []로 고치고, 에러를 보려면 500으로 고치고, 보고 나면 다시 되돌리고... 이걸 계속 반복하게 되더라고요.
AI한테 코드를 맡겨도 마찬가지였습니다. 코드는 금방 짜 오는데 그 화면이 상황별로 맞게 나오는지는 결국 제가 하나하나 띄워 봐야 했습니다. QA분들이 "목록이 비었을 때 화면 보고 싶어요" 하시면 그것도 제가 만들어 드려야 했고요.
그래서 핸들러마다 응답을 여러 개 넣어 두고 이름을 붙인 다음, 링크로 고를 수 있게 만들었습니다. 응답 지연, 현재 시각, 오프라인도 같은 링크에 넣을 수 있습니다.
/?cue=getCoupons:Empty
/?cue=getCoupons:Server error,delay:1500
이렇게 하니까 AI한테 "이 링크들 열어서 확인해 봐" 하고 맡길 수 있게 됐습니다. 저는 Playwright MCP를 붙여서 씁니다. QA분들은 화면 구석 패널에서 클릭으로 상황을 고르고, Copy URL로 링크를 복사해서 버그 제보에 같이 붙여 주십니다.
기존 MSW 핸들러는 그대로 쓸 수 있고, MSW 공식 문서의 Dynamic mock scenarios 가이드에서 출발했습니다. 라이브러리는 AI로 많이 만들었고 블로그 글도 AI 도움을 받아 다듬었지만, 문제와 해결 과정은 실제로 겪은 것입니다. 회사 일이라 화면은 쿠폰 예시로 바꿨습니다. 써 보시고 부족한 데가 보이면 피드백 주시면 감사하겠습니다!
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기