サーバ不要でバックエンドAPIのモックを実現する「Mock Service Worker 2.0」正式リリース。Fetch API、ストリームAPI対応など新機能

2023年11月7日

Webアプリケーションのクライアントを開発する際に、本来ならばサーバ上で稼働するWebアプリケーションのバックエンドのAPIを呼び出してデータを受け取って表示するといった動作を作り込みたいけれども、まだバックエンドのAPIも開発中であったり、何らかの理由でバックエンドを稼働させる環境を用意できなかったりすることは、しばしば起こりえます。

そうしたときにサーバを立てることなく、バックエンドのAPIをモックとして簡単に設定し提供してくれるソフトウェア「Mock Service Worker」の最新版「Mock Service Worker 2.0」が正式にリリースされました。

Mock Service WorkerはWebブラウザもしくはNode.jsの環境で使えるモック作成用のライブラリです。

プロキシサーバとしてService Workerが実行され、クライアントからのRESTfulもしくはGraphQL形式のリクエストを受け取り、あらかじめ設定しておいたモックとしてのデータを返します。

下記は、Mock Service Workerの開発者であるArtem Zakharchenko氏によるブログ「Introducing MSW 2.0 - Mock Service Worker」からの引用です。

Version 2.0 marks a monumental chapter for MSW. A year in development, dozens of contributors, and thousands of lines changed, this update brings a refined public API with the first-class support for Fetch API primitives and all the features and bug fixes that it unlocks as a side effect.

バージョン2.0はMSWにとって記念すべきバージョンと言える。開発に1年を費やし、何十人もの貢献者が参加し、何千行もの行が変更されたこのアップデートは、Fetch APIプリミティブを本格的にサポートしたことで洗練されたパブリックなAPIを実現し、その副次的な効果として多くの新機能追加とバグ修正が行われた。

Mock Service Worker 2.0ではNode.js 16以前のバージョンでの実行が非推奨となりました。これ以降のNode.js(Node.js 18以降)をサポート環境とすることで、Node.js環境とWebブラウザ環境の両方でFetch APIへの対応が実現されています。

主な新機能として、モックのレスポンスとしてストリーム API の「ReadableStream」をサポートしました。これにより、例えばチャットでサーバから送られてくるテキストの文字が次々に表示されるようなアプリケーション(ChatGPTなども、そうしたアプリケーションの一種でしょう)のモックも作れるようになりました。

また、FormDataをボディとするリクエストも読み込むことができ、レスポンスのボディとして返せるようになるなどの新機能が追加されています。

変更点や新機能などの詳細は、リリースノート「Release v2.0.0 · mswjs/msw」をご覧ください。

あわせて読みたい

JavaScript ソフトウェアテスト・品質 プログラミング言語 開発ツール




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本