Nightwatch での Angular コンポーネントテスト
概要
Nightwatch での Angular コンポーネントテストは、公式の **[@nightwatch/angular
][1]** プラグインを使用して利用できます。内部的には Webpack DevServer を使用します。Nightwatch 2.4 以上が必要です。
インストール
ステップ 1。
@nightwatch/angular
プラグインは、NPM を使用してインストールできます。
ステップ 2。
次に、Nightwatch の設定を更新し、プラグインをリストに追加します。
module.exports = {
plugins: ['@nightwatch/angular']
}
テストの作成
このプラグインは、コンポーネントを独立してマウントするために使用できる mountComponent
コマンドのみを提供します。
.mountComponent(`componentPath`, `[callback]`)
パラメーター
名前 | 型 | 説明 |
---|---|---|
`componentPath` | `string` | マウントするコンポーネントファイル(`.component`)の場所 |
`callback` オプション |
`function` | コンポーネント要素を使用して呼び出されるオプションのコールバック関数。 |
設定
@nightwatch/angular
プラグインは、妥当な設定のデフォルト値で動作するように設計されていますが、より高度なシナリオでは、一部の設定オプションを変更する必要がある場合があります。
- projectRoot
テストが記述されているプロジェクトのルートディレクトリを指定します。デフォルトでは、現在のディレクトリとして設定されています。これは projectRoot プロパティを使用してオーバーライドできます。
module.exports = {
'@nightwatch/angular': {
projectRoot: 'path/to/angular/project' // defaults to current directory
},
// other nightwatch settings...
}
- port
Angular プラグインは、Angular コンポーネントをコンパイルしてレンダリングするために Webpack Dev Server を使用します。デフォルトでは、ポート 5173 を使用してレンダリングされたページを提供します。これは Nightwatch の設定を使用してオーバーライドできます。
module.exports = {
'webpack_dev_server': {
port: 10096 // defaults to 5173
},
// other nightwatch settings...
}
例
const component = await browser.mountComponent('../../../src/components/Form.component')
it('Test Form Component', async function (browser) { const component = await browser.mountComponent('../../../src/components/Form.component');
expect(component).text.to.equal('form-component works!'); });
[1]: https://github.com/nightwatchjs/nightwatch-plugin-angular