QUnit サービス
WebdriverIO (wdio) サービスは、ブラウザベースのQUnitテストを実行し、それらを動的にwdio
テストスイートに変換します。
Karmaの代替
QUnit サービス
は、Karma JS を使用して QUnit
テストを実行している人にとって、ドロップインで置き換えられるものです ( karma-qunit, karma-ui5 または Karma と QUnit のその他の組み合わせ)。Karma は 非推奨であり、人々は最新の代替手段に移行する必要があります!
QUnitテストを書き換えたり、リファクタリングしたりせずに、そのままにしておきたい場合、QUnit サービス
が必要なものすべてです。ブラウザでQUnit HTMLファイルを実行し、すべての結果をwdio
形式でキャプチャします。
そのため、開発者は wdio
エコシステムで利用可能な他のすべてと並行して QUnit サービス
を使用できます。
ビデオでテスト実行を記録しますか?スクリーンショットを撮るか、PDFで保存してみませんか?コードカバレッジを確認してみませんか?テスト結果をJUnit形式で保存してみませんか?どうぞ、QUnit サービス
は邪魔になりません。
インストール
WebdriverIO
を設定した後、package.json
ファイルにwdio-qunit-service
を開発依存関係としてインストールします。
npm install wdio-qunit-service --save-dev
まだWebdriverIO
を設定していない場合は、公式のドキュメントを確認してください。
設定
QUnit サービス
を使用するには、wdio.conf.js
ファイルの services
リストに追加するだけです。wdio ドキュメントには、設定ファイルに関するすべての情報があります。
// wdio.conf.js
export const config = {
// ...
services: ["qunit"],
// ...
};
使い方
テストを実行する前に、Webサーバーが起動して実行されていることを確認してください。wdio
は Webサーバーを起動しません。
.specまたは.testファイルを使用する場合
WebdriverIO テストでは、QUnit HTML テストページに移動し、browser.getQUnitResults()
を呼び出す必要があります。
describe("QUnit test page", () => {
it("should pass QUnit tests", async () => {
await browser.url("http://localhost:8080/test/unit/unitTests.qunit.html");
await browser.getQUnitResults();
});
});
QUnit HTML テストページごとに 1 つの WebdriverIO テストファイルを用意することをお勧めします。これにより、テストが並行して完全に分離された状態で実行されます。
設定のみで、.specまたは.testファイルを使用しない場合
spec/test ファイルを作成したくない場合は、QUnit HTML ファイルのリストを設定に渡すと、テストが自動的に生成されます。
// wdio.conf.js
export const config = {
// ...
baseUrl: 'http://localhost:8080',
services: [
['qunit', {
paths: [
'unit-tests.html',
'integration-tests.html',
'test/qunit.html'
]
}],
// ...
};
テスト結果
テスト結果は次のようになります:
例
javascript
、typescript
などを使用したサンプルについては、examplesフォルダーを確認してください。
SAP Fiori / UI5 アプリでの使用
有名なopenui5-sample-appを使用したわかりやすい例
-
設定ファイルを作成します:wdio.conf.js
-
QUnitテストファイルを見つける場所を
wdio
に伝えます -
- QUnitファイルをサービス構成に含めます
-
- または
-
テストを実行する前に、Webサーバーが実行されている必要があります
-
実行します $
wdio run ./webapp/test/wdio.conf.js
著者
マウリシオ・ラウファー
ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。詳細については、LICENSEファイルを参照してください。