WireMock as a Service
WebdriverIO用の新しいモックサービスwdio-wiremock-service
を発表できることを嬉しく思います。
何ができますか?
このサービスは、WebdriverIOでテストを実行する際に、WireMockをシームレスに実行するのに役立ちます。よく知られているMavenリポジトリを使用してWireMockのjarをダウンロードし、自動的にインストール、起動、停止します。コミュニティに参加して最新情報を入手してください。ヘルプとサポートについては、コミュニティのDiscordサポートサーバーにアクセスしてください。
このサービスでできること
- WebdriverIOテストランナーと並行してWireMockを自動的に実行
- モックファイルとフィクスチャファイルの使用をサポート
- さまざまな戦略を使用して、リクエストURL、メソッド、ヘッダー、クッキー、およびボディを照合します。JSONとXMLをファーストクラスでサポート。
- 利用可能なすべてのオプションでWireMockを設定
インストール
npm install wdio-wiremock-service --save-dev
WebdriverIO
のインストール方法については、こちらをご覧ください。
設定
サービスを使用するには、サービス配列に追加する必要があります
exports.config
// ...
services: ['wiremock'],
// ...
};
構成に利用できるオプションは他にもたくさんあります。完全な概要については、こちらをご覧ください。
モックとフィクスチャの作成
このサービスは、2つのサブディレクトリ(mappings
と__files
)を持つディレクトリ(デフォルトでは./mock
)を作成します。mappings
ディレクトリを使用してモックファイルを探し、__files
ディレクトリを使用してフィクスチャファイルを探します。
これを踏まえて、フィクスチャを作成するのは、__files
ディレクトリにファイルを作成するのと同じくらい簡単です
Hello world
最初のモックを作成するのは、mappings
ディレクトリにファイルを作成するのと同じくらい簡単です
これを踏まえて、フィクスチャを作成するのは、__files
ディレクトリにファイルを作成するのと同じくらい簡単です
{
"request": {
"method": "GET",
"url": "/api/mytest"
},
"response": {
"status": 200,
"bodyFileName": "hello-world.json"
}
}
テストの作成
最初のテストを作成するのは非常に簡単です
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サーバーをご覧ください。
それでは、また!