

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 Jest 设置测试报告
<a name="test-report-jest"></a>

以下过程演示如何在 AWS CodeBuild 中使用 [Jest 测试框架](https://jestjs.io/)来设置测试报告。

该过程需要以下先决条件：
+ 您有一个现有的 CodeBuild 项目。
+ 您的项目是一个 Node.js 项目，此项目设置为使用 Jest 测试框架。

将 [https://www.npmjs.com/package/jest-junit](https://www.npmjs.com/package/jest-junit) 程序包添加到项目 `package.json` 文件的 `devDependencies` 部分。CodeBuild 使用此包生成格式为 `JunitXml` 的报告。

```
npm install --save-dev jest-junit
```

如果它尚未存在，请将 `test` 脚本添加到项目的 `package.json` 文件中。`test` 脚本确保在运行 **npm test** 时调用 Jest。

```
{
  "scripts": {
    "test": "jest"
  }
}
```

通过将以下内容添加到 Jest 配置文件中，将 Jest 配置为使用 `JunitXml` 报告程序。如果您的项目没有 Jest 配置文件，请在项目的根目录中创建一个名为 `jest.config.js` 的文件，然后添加以下内容。测试报告将导出到由 *<测试报告目录>*/*<报告文件名>* 指定的文件中。

```
module.exports = {
  reporters: [
    'default',
    [ 'jest-junit', {
      outputDirectory: <test report directory>,
      outputName: <report filename>,
    } ]
  ]
};
```

在您的 `buildspec.yml` 文件中，添加/更新以下部分。

```
version: 0.2

phases:
  pre_build:
    commands:
      - npm install
  build:
    commands:
      - npm build
      - npm test

reports:
  jest_reports:
    files:
      - <report filename>
    file-format: JUNITXML
    base-directory: <test report directory>
```