ページ内ナビ
概要
JavaScriptアプリのAPI通信を開発・テスト中に置き換えるライブラリです。ブラウザではService Worker、Node.jsでは低水準の通信横取りを使い、アプリ側の通信ライブラリを差し替えずに要求と応答を再現できます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
実際の通信経路を保ったまま要求へ応答する
パス、パラメータ、ワイルドカード、正規表現で要求を照合し、状態コード、ヘッダー、Cookie、遅延を含む応答を定義できます。ブラウザでは応答を開発者ツールのNetworkでも確認できます。
出典:[1]
向いている用途
開発と複数段階のテストで通信定義を共有する
未完成のAPIを使う画面開発や、外部サービスの成功・失敗応答を再現するテストに向きます。同じ要求ハンドラーをローカル開発、単体・結合・E2Eテストへ持ち込めます。
出典:[1]
導入前の確認
参考にした公式資料
- [1]Mock Service Worker v3.0.2 README(2026-10-04)
- [2]Mock Service Worker v3.0.2 package metadata(2026-10-04)
- [3]Mock Service Worker v3.0.2 release(2026-10-04)
- [4]Mock Service Worker v3.0.2 license(2026-10-04)
編集部からの補足
APIクライアントを直接差し替える方法と比べると、実際の通信経路を通したまま応答を再現できる点が選定の軸です。v3への導入では、Node.jsの版と環境別の読み込み先を小さな検証で確かめてください。
3ステップで試す
- 1
v3.0.2を専用ディレクトリへ追加する
Node.js 22.12.0以上で、確認済みの版を小さなプロジェクトへ追加します。
mkdir -p msw-demo && cd msw-demo && npm init -y && npm install msw@3.0.2 - 2
Node.js用の要求ハンドラーを作る
外部サービスへ接続せず、GET要求へJSONを返す最小例を保存します。
printf '%s\n' "import { http, HttpResponse } from 'msw/http'" "import { setupServer } from 'msw/node'" "const server = setupServer(http.get('https://example.test/user', () => HttpResponse.json({ name: 'Ada' })))" "server.listen({ onUnhandledRequest: 'error' })" "const response = await fetch('https://example.test/user')" "console.log(await response.json())" "server.close()" > demo.mjs - 3
置き換えた応答を確認する
通常のfetchから
{ name: 'Ada' }が得られることを確認します。node demo.mjs
成長
成長の推移 · 直近30日
18,254 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 12
- Open PR
- 1
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- msw
- mock
- mocking-framework
- service-worker
- mock-service-worker
- mocking
- mocking-library
- api-mocking
- devtools
- api
- mswjs
- Stars
- 18,254
- Forks
- 628
- Watchers
- 65
- Open Issues
- 12
- Contributors
- 182
- 所有者種別
- Organization
- 主要言語
- TypeScript
- ライセンス
- MIT
- リポジトリ最終更新
- 2026/10/03
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Elysia19,216 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
Bunを中心にend-to-end type safetyとruntime validationを統合するTypeScript Web/API framework
TypeScript - Apollo Server13,951 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
スキーマとリゾルバーからNode.jsのGraphQL APIを構築する
TypeScript - Hoppscotch80,561 Stars
共通タグ 2件 · 共通カテゴリ 2件 · 同じ言語
REST・GraphQL・realtime request・collection testをWeb/Desktop/CLI/self-hostへ横断するAPI workspace
TypeScript - WireMock7,387 Stars
共通タグ 2件 · 共通カテゴリ 2件
HTTP APIをrequest matching・dynamic response・delay/fault・record/playbackでvirtualizeするmock server/library
Java - Insomnia40,036 Stars
共通タグ 1件 · 共通カテゴリ 2件 · 同じ言語
APIのdesign・request・test・CI workflowをdesktop clientへまとめる
TypeScript - Bruno47,337 Stars
共通タグ 1件 · 共通カテゴリ 2件
API collectionをローカルBru fileとGitで管理しdesktop・CLI・CIから実行するAPI client
JavaScript
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。