# 单元测试

> Enable and configure unit tests in Unity Build Automation to catch issues early and ensure code quality.

在 **Build Target（构建目标）** 配置中启用单元测试可以尽早发现问题，确保代码质量，并在部署前防止出现回归问题。Unity Build Automation (UBA) 提供集成支持，将运行单元测试作为构建过程的一部分。UBA 支持 **Edit Mode（编辑模式）** 和 **Play Mode（运行模式）** 测试，并提供了控制测试执行和处理失败情况的选项。

有关[编辑模式和运行模式测试](https://docs.unity3d.com/Packages/com.unity.test-framework@1.0/manual/edit-mode-vs-play-mode-tests.html)的更多信息，请参阅 Unity 编辑器手册。

## 启用单元测试##enable-unit-tests

在 [Unity Dashboard](https://cloud.unity.com/home/organizations/default/projects/default/cloud-build/config) 中启用和配置单元测试：

1. 选择 **Build Automation** > **Configurations（配置）**。
2. 选择编辑（铅笔）图标以打开构建目标设置。
3. 选择 **Advanced Settings（高级设置）**。
4. 在 **Tests（测试）** 部分下，选择要启用的[测试选项](#test-configuration-options)。
5. 选择 **Save changes（保存更改）**。

如果在启用测试时遇到问题，请确保正确设置了项目的测试程序集，并且将脚本放在合适的目录中，例如 `Assets/Tests`。在 UBA 中运行构建之前，使用 Unity 编辑器的 **Test Runner** 来验证是否检测到了测试。

### 测试配置选项##test-configuration-options

以下是可用的测试选项：

| 测试配置选项                                                         | 描述                                          |
| -------------------------------------------------------------- | ------------------------------------------- |
| **Run my project's unit tests when building（构建时运行项目的单元测试）**    | 当您运行构建时，单元测试将运行。                            |
| **Run EditMode tests（运行编辑模式测试）**                               | 当您运行构建时，编辑模式测试将运行。                          |
| **Run PlayMode tests（进行运行模式测试）**                               | 当您运行构建时，运行模式测试将运行。                          |
| **Mark build as failed if any test fails（如果任何测试失败，则将构建标记为失败）** | UBA 会将任何未通过单元测试套件的构建标记为失败，即使构建在其他情况下成功也是如此。 |

## 访问和查看测试结果##access-and-review-test-results

UBA 在构建日志和 Artifact 中提供测试结果。构建完成后：

1. 导航到 Unity Dashboard 中的 [**Build History（构建历史记录）**](https://cloud.unity.com/home/organizations/default/projects/default/cloud-build/history)部分。
2. 选择已完成的构建以查看其详细信息。
3. 查看测试摘要，以查找通过、失败和跳过的测试数量。
4. 下载详细的测试报告以进行深入分析。


**UBA 单元测试视图 :**
![UBA 单元测试视图 ](/api/media?file=/build-automation/media/images/build-automation/build-history-tests.png "UBA 单元测试视图")

如果测试结果缺失或不完整，请检查以下解决方案：

* 检查[**构建日志**](../check-build-results/overview#view-logs)中是否有与测试执行相关的警告或错误。
* 检查是否正确标记了测试并将其放置在已识别的测试文件夹中。

> **Note:**
>
> **注意：** 如果测试意外失败，请查看最近的代码更改，并确认您正确配置了所有依赖项，例如场景或资源。
