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

QUnit サービス

wdio-qunit-serviceはサードパーティ製のパッケージです。詳細はGitHub | npmをご覧ください。

npm test

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'
]
}],
// ...
};

テスト結果

テスト結果は次のようになります: QUnit Service のテスト結果

javascripttypescript などを使用したサンプルについては、examplesフォルダーを確認してください。

SAP Fiori / UI5 アプリでの使用

有名なopenui5-sample-appを使用したわかりやすい

  • 設定ファイルを作成します:wdio.conf.js

  • QUnitテストファイルを見つける場所をwdioに伝えます

    • または
  • テストを実行する前に、Webサーバーが実行されている必要があります

  • 実行します $ wdio run ./webapp/test/wdio.conf.js

著者

マウリシオ・ラウファー

ライセンス

このプロジェクトはMITライセンスの下でライセンスされています。詳細については、LICENSEファイルを参照してください。

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

WebdriverIO AI Copilot