包含此页的版本:
不含此页的版本:
欢迎来到 Unity 测试框架一般入门课程。
本课程包含不同的练习,通过实际示例帮助您学习基本的 Unity 测试框架概念。每个练习都有一个学习目标部分,以帮助您确定将要学习的技能。练习按主题分组,难度各不相同。
完成练习后,您可以根据提供的解决方案检查您的解决方案。请注意,许多练习可以通过多种可能的方式解决。
每个练习的项目文件及其随附的解决方案作为示例随 Unity 测试框架包一起提供。要将练习或解决方案导入 Unity 编辑器:
注意:您可以同时导入一个练习及其解决方案或多个练习,但由于多个练习使用相同的命名模式,这可能会导致编译错误,从而阻止您运行测试或构建项目。建议的工作流程是一次导入并处理一个练习。如果导入其他练习或解决方案以供参考,则可以在运行主要练习之前再次删除它们。
| 主题 | 描述 |
|---|---|
| 在 Unity 项目中运行测试 | 使用测试程序集和测试设置一个简单的 Unity 项目,然后从测试运行程序测试框架包(以前称为测试运行程序)是一个 Unity 工具,可在编辑模式和播放模式下测试代码,也可以在目标平台(如独立平台、Android 或 iOS)上测试代码。更多信息 请参阅术语表窗。 |
| 安排、行动、断言 | 使用 AAA(安排、行动、断言)的核心单元测试原则来构建单元测试。 |
| 语义测试断言 | 用Assert.That以测试条件是否为真。 |
| 自定义比较 | 使用 Unity 测试框架的自定义相等比较器检查 Unity 类型的值相等性。 |
| 断言日志 | 测试并验证写入控制台日志的代码。 |
| 设置和拆卸 | 使用 NUnit 属性[SetUp]和[TearDown]以减少测试中的代码重复。 |
| 播放模式测试 | 创建并运行运行模式测试。 |
| 播放器中的播放模式测试 | 在独立平台播放器中运行模式测试。 |
| 使用 UnityTest 属性 | 使用[UnityTest]编写跨多个帧运行的测试。 |
| 长时间运行的测试 | 编写长时间运行的测试,可以指示编辑器等待定义的时间段。 |
| 基于场景的测试 | 测试存储在场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息 请参阅术语表. |
| 构建时的设置和清理 | 在播放器生成阶段之前和之后执行工作。 |
| 域重新加载 | 调用并等待从测试中重新加载域。 |
| 保留测试状态 | 使用序列化使测试中的数据在域重新加载后继续存在。 |
| 测试用例 | 使用 NUnit 的[TestCase]属性。 |
| 自定义属性 | 实现自定义 NUnit 属性,可用于更改测试执行。 |
| 以编程方式运行测试 | 使用 TestRunnerAPI 从代码运行测试。 |