

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Jasmine によるテストレポートのセットアップ
<a name="test-report-jasmine"></a>

次の手順では、[JasmineBDD テスト フレームワーク](http://jasmine.github.io/)を用いた AWS CodeBuild でのテストレポートのセットアップ方法を示しています。

この手順には、次の前提条件が必要です。
+ 既存の CodeBuild プロジェクトがある。
+ そのプロジェクトは、Jasmine テストフレームワークを使用するようにセットアップされた Node.js プロジェクトである。

[https://www.npmjs.com/package/jasmine-reporters](https://www.npmjs.com/package/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
```