MSW(Mock Service Workder)는 서비스 워커(Service Worker)를 이용해서 네트워크 호출을 가로채는 API 모킹 라이브러리
백엔드 개발과 프론트엔드 개발이 동시에 진행될때, 백엔드 API가 구현될때까지 기다리는것이 아닌 가짜 API를 만들어서 임시로 테스트 할 수 있다.
npm install msw
src/mocks
폴더 생성 후 handler
파일을 만들어 API를 모킹
import { rest } from 'msw';
export const handlers = [
rest.get('/test', (req, res, ctx) => {
return res(
ctx.status(200),
ctx.json({
message: 'msw 모킹 테스트입니다',
}),
);
}),
];
Client-side에서 MSW를 사용하려면 서비스워커를 등록해야 한다.
코드가 실행되면 public/mockServiceWorkder.js
파일이 생성된다.
npx msw init public/ — save
브라우저 환경에서 실행 될 수 있도록 설정 mocks/browser.ts
import { setupWorker } from 'msw';
import { handlers } from './handlers';
export const worker = setupWorker(...handlers);
develop
환경에서 사용할 수 있도록 작성
if (process.env.NODE_ENV === 'development') {
worker.start();
}