Jasmine によるテストレポートのセットアップ - AWS CodeBuild

Jasmine によるテストレポートのセットアップ

次の手順では、JasmineBDD テスト フレームワークを用いた AWS CodeBuild でのテストレポートのセットアップ方法を示しています。

この手順には、次の前提条件が必要です。

  • 既存の CodeBuild プロジェクトがある。

  • そのプロジェクトは、Jasmine テストフレームワークを使用するようにセットアップされた Node.js プロジェクトである。

jasmine-reporters パッケージを devDependencies セクションの package.json ファイルに追加します。このパッケージには、Jasmine で使用できる JavaScript レポータークラスのコレクションがあります。

npm install --save-dev jasmine-reporters

まだ存在しない場合は、test スクリプトをプロジェクトの package.json ファイルに追加します。test スクリプトは、npm test が実行されたときに Jasmine が確実に呼び出されるようにします。

{ "scripts": { "test": "npx jasmine" } }

CodeBuild は、以下の Jasmine テストレポーターをサポートしています。

JUnitXmlReporter

JunitXml 形式でレポートを生成するために使用されます。

NUnitXmlReporter

NunitXml 形式でレポートを生成するために使用されます。

Jasmine を使用する Node.js プロジェクトには、デフォルトで Jasmine 設定とテストスクリプトを含む spec サブディレクトリが作成されます。

JunitXML 形式でレポートを生成するように Jasmine を設定するには、テストに次のコードを追加して、JUnitXmlReporter レポーターをインスタンス化します。

var reporters = require('jasmine-reporters'); var junitReporter = new reporters.JUnitXmlReporter({ savePath: <test report directory>, filePrefix: <report filename>, consolidateAll: true }); jasmine.getEnv().addReporter(junitReporter);

NunitXML 形式でレポートを生成するように Jasmine を設定するには、テストに次のコードを追加して、NUnitXmlReporter レポーターをインスタンス化します。

var reporters = require('jasmine-reporters'); var nunitReporter = new reporters.NUnitXmlReporter({ savePath: <test report directory>, filePrefix: <report filename>, consolidateAll: true }); jasmine.getEnv().addReporter(nunitReporter)

テストレポートは、<test report directory>/<report filename> で指定されたファイルにエクスポートされます。

buildspec.yml ファイルで、次のセクションを追加/更新します。

version: 0.2 phases: pre_build: commands: - npm install build: commands: - npm build - npm test reports: jasmine_reports: files: - <report filename> file-format: JUNITXML base-directory: <test report directory>

NunitXml レポート形式を使用している場合は、file-format 値を次のように変更します。

file-format: NUNITXML