メインコンテンツにスキップ

WireMock as a Service

·3分で読めます

WebdriverIO用の新しいモックサービスwdio-wiremock-serviceを発表できることを嬉しく思います。

何ができますか?

このサービスは、WebdriverIOでテストを実行する際に、WireMockをシームレスに実行するのに役立ちます。よく知られているMavenリポジトリを使用してWireMockのjarをダウンロードし、自動的にインストール、起動、停止します。コミュニティに参加して最新情報を入手してください。ヘルプとサポートについては、コミュニティのDiscordサポートサーバーにアクセスしてください。

このサービスでできること

  • WebdriverIOテストランナーと並行してWireMockを自動的に実行
  • モックファイルとフィクスチャファイルの使用をサポート
  • さまざまな戦略を使用して、リクエストURL、メソッド、ヘッダー、クッキー、およびボディを照合します。JSONとXMLをファーストクラスでサポート。
  • 利用可能なすべてのオプションでWireMockを設定

インストール

npm install wdio-wiremock-service --save-dev

WebdriverIOのインストール方法については、こちらをご覧ください。

設定

サービスを使用するには、サービス配列に追加する必要があります

wdio.conf.js
exports.config
// ...
services: ['wiremock'],
// ...
};

構成に利用できるオプションは他にもたくさんあります。完全な概要については、こちらをご覧ください。

モックとフィクスチャの作成

このサービスは、2つのサブディレクトリ(mappings__files)を持つディレクトリ(デフォルトでは./mock)を作成します。mappingsディレクトリを使用してモックファイルを探し、__filesディレクトリを使用してフィクスチャファイルを探します。

これを踏まえて、フィクスチャを作成するのは、__filesディレクトリにファイルを作成するのと同じくらい簡単です

./mock/__files/hello-world.json
Hello world

最初のモックを作成するのは、mappingsディレクトリにファイルを作成するのと同じくらい簡単です

これを踏まえて、フィクスチャを作成するのは、__filesディレクトリにファイルを作成するのと同じくらい簡単です

./mock/mappings/my-test.json
{
"request": {
"method": "GET",
"url": "/api/mytest"
},
"response": {
"status": 200,
"bodyFileName": "hello-world.json"
}
}

テストの作成

最初のテストを作成するのは非常に簡単です

./test/specs/mytest.js
const fetch = require('node-fetch');
const assert = require('assert');

describe('My test', () => {
it('should assert the mock data', () => {
browser.call(async () => {
await fetch('http://localhost:8080/api/mytest')
.then((res) => res.text())
.then((body) => {
// assert that the request body returns the expected value
assert.equal(body, 'More content');
});
});
});
});

サポート

コミュニティに参加して、最新情報を入手してください。他の参加者やサポート、質問については、コミュニティのDiscordサーバーをご覧ください。

それでは、また!

ようこそ!何かお手伝いできることはありますか?

WebdriverIO AI Copilot