Mochaによるテスト実行時に、複数のレポーターを使用する方法を紹介します。
パッケージをインストール
@mochajs/multi-reporterパッケージをインストールします。
$ npm i -D @mochajs/multi-reporter
Mochaの設定ファイルを更新
Mochaの設定ファイル(.mocharc.json
など)にreporter
を追加し、@mochajs/multi-reporter
を指定します。
{
"reporter": "@mochajs/multi-reporter"
}
mocha
コマンドの--reporter
オプションで指定することもできます。
{
"scripts": {
"test": "mocha --reporter @mochajs/multi-reporter"
}
}
@mochajs/multi-reporterの設定ファイルを作成
@mochajs/multi-reporterの設定ファイルとして、.reporters.json
ファイルを作成します。
{
"spec": true,
"xunit": {
"output": "report.xml"
}
}
設定ファイルはオブジェクト形式で、キーにはレポーター名、値には有効フラグまたはレポーターオプションを指定します。
つまり上記の設定ファイルでは、spec
とxunit
という2つのレポーターを使用し、かつxunit
のレポーターオプションでoutput
をreport.xml
にするという指定になっています。
テストを実行
あとは普通にテストを実行します。
$ npm test
上記の設定の場合、spec
によって標準出力にテスト結果が表示され、xunit
によってreport.xml
ファイルが生成されます。
こうすることで、ヒューマンリーダブルな形式で結果を表示しつつ、XMLファイルやJSONファイルを出力してプログラムで扱うといったことが可能になります。