エンドツーエンドテスト

electron-vue はエンドツーエンドテストのために Spectron とテストフレームワークの Mocha (Chai と一緒に) を利用しています。Mocha と Chai の APIは、expectshouldassertを含め、グローバルスコープで利用可能です。

テストの実行

# Mocha を始める
npm run e2e
注意

エンドツーエンドテストを実行する前に、Spectron がテスト中に使用する本番ビルドを作成するために、npm run pack が呼び出されます。

ファイル構造

my-project
├─ test
|  ├─ e2e
│  │  ├─ specs/
│  │  ├─ index.js
└─ └─ └─ utils.js

ほとんどの場合、 index.js は無視して、 specs/ を書くことだけに集中できます。

specs/

このディレクトリの中に実際のテストが書かれています。babel-register の機能のおかげで、ES2015にフルアクセスできます。

index.js

このファイルは Mocha のメインエントリーとして機能し、テスト用に specs/ で書かれた全てのテストを集めます。

utils.js

ここでは、specs/ 全体で使用することができる汎用関数を見つけることができます。基本関数には、 electron の作成/破壊プロセスを処理する beforeEachafterEach が含まれます。

Spectron について

Spectron は 公式の electron テストフレームワークであり、DOM 要素を操作するために ChromeDriverWebDriverIO の両方を使用します。

WebDriverIO の使用

Spectron のドキュメントに記載されている通り、WebDriverIO API へのアクセスは this.app.client を通してすることができます。 electron-vue は Mocha を使用しているため、this のコンテキストは afterEachbeforeEachit の間で共有されます。このため、ES2015 のアロー関数は、this のコンテキストが上書きされるため、特定の状況では使用できないことに注意することが重要です(詳細はこちら)。

results matching ""

    No results matching ""