

亚马逊 CodeCatalyst 不再向新买家开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [如何从中迁移 CodeCatalyst](migration.md)。

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

# 与集成 universal-test-runner
<a name="test.universal-test-runner"></a>

测试操作与开源命令行工具 `universal-test-runner` 集成。`universal-test-runner` 使用[测试执行协议](https://github.com/aws/universal-test-runner/blob/main/protocol/README.md)，在给定的框架内为任何语言运行测试。`universal-test-runner` 支持以下框架：
+ [Gradle](https://gradle.org/)
+ [Jest](https://jestjs.io/)
+ [Maven](https://maven.apache.org/)
+ [pytest](https://pytest.org)
+ [.NET](https://learn.microsoft.com/en-us/dotnet/core/tools/)

`universal-test-runner` 只安装在为测试操作策管的映像上。如果将测试操作配置为使用自定义 Docker Hub 或 Amazon ECR，则必须手动安装 `universal-test-runner` 才能启用高级测试功能。为此，请在映像上安装 Node.js（14 或更高版本），然后使用 Shell 命令 `- Run: npm install -g @aws/universal-test-runner` 通过 `npm` 安装 `universal-test-runner`。有关通过 Shell 命令在容器中安装 Node.js 的更多信息，请参阅 [Installing and Updating Node Version Manager](https://github.com/nvm-sh/nvm#install--update-script)。

有关 `universal-test-runner` 的更多信息，请参阅[什么是 universal-test-runner？](https://github.com/aws/universal-test-runner#-what-is-universal-test-runner)

------
#### [ Visual ]

**universal-test-runner在可视化编辑器中使用**

1. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

1. 在导航窗格中，选择 **CI/CD**，然后选择**工作流**。

1. 选择工作流的名称。

1. 选择**编辑**。

1. 选择**可视化**。

1. 选择**操作**。

1. 在**操作**中，选择**测试**。

1. 在**配置**选项卡上，使用您选择的支持框架更新示例代码，完成 **Shell 命令**字段。例如，要使用支持的框架，可以使用类似下面的 `Run` 命令。

   ```
   - Run: run-tests <framework>
   ```

   如果您想要的框架不受支持，请考虑提供自定义适配器或运行程序。有关 **Shell 命令**字段的描述，请参阅 [Steps](build-action-ref.md#build.configuration.steps)。

1. （可选）选择**验证**，在提交之前验证工作流的 YAML 代码。

1. 选择**提交**，输入提交消息，然后再次选择**提交**。

------
#### [ YAML ]

**要 universal-test-runner在 YAML 编辑器中使用**

1. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

1. 在导航窗格中，选择 **CI/CD**，然后选择**工作流**。

1. 选择工作流的名称。

1. 选择**编辑**。

1. 选择 **YAML**。

1. 选择**操作**。

1. 在**操作**中，选择**测试**。

1. 根据需要修改 YAML 代码。例如，要使用支持的框架，可以使用类似下面的 `Run` 命令。

   ```
   Configuration:
     Steps:
       - Run: run-tests <framework>
   ```

   如果您想要的框架不受支持，请考虑提供自定义适配器或运行程序。有关 **Steps** 属性的描述，请参阅 [Steps](build-action-ref.md#build.configuration.steps)。

1. （可选）选择**验证**，在提交之前验证工作流的 YAML 代码。

1. 选择**提交**，输入提交消息，然后再次选择**提交**。

------