위키득계정 ↗
기술

Mock Service Worker

Mock Service Worker기술
약칭
MSW
분류
요청 가로채기 기반 API 모킹
브라우저 기반
Service Worker API
Node.js 방식
저수준 요청 가로채기
Mock Service Worker는 JavaScript 애플리케이션의 요청을 가로채 모의 응답을 제공하는 도구다. 브라우저와 Node.js에서 요청 처리 정의를 공유해 개발과 시험에 활용할 수 있다.

애플리케이션 바깥의 응답

애플리케이션이 요청을 수행한 뒤 별도 계층에서 이를 처리하고 모의 응답을 돌려준다. 호출에 쓰는 라이브러리마다 대체 함수를 만드는 대신 요청의 조건과 응답 동작을 정의한다. 브라우저에서는 개발자 도구의 네트워크 화면으로 모의 응답도 살펴볼 수 있다.

환경별 구현

브라우저에서는 Service Worker API를 활용하지만 Node.js에는 같은 방식의 Service Worker가 없다. Node.js 연동은 별도의 저수준 가로채기 방식을 사용한다. 공통 요청 핸들러를 재사용할 수 있어도 내부 동작까지 동일한 것은 아니다.

시험 정의의 재사용

주소와 매개변수 등의 조건으로 요청을 선택하고 상태 코드, 헤더나 지연을 포함한 응답을 구성할 수 있다. 같은 정의를 로컬 개발과 여러 시험 단계에서 활용한다. 재사용은 관리할 정의를 줄이는 데 도움이 되지만 실제 API와의 일치 여부는 계속 확인해야 한다.

관련 문서

Pact JS / WireMock / Mockoon / HTTP