据我了解,您正在寻求了解Unity中的自动化测试。
Unity测试工具
这应该是您的goto方法,但是在深入探讨方法之前,我将研究原因。
进行任何形式的自动化测试的首选方法是在尽可能接近生产的环境中进行。对于编写常规集成测试的任何人来说,使用Unity测试工具(位于Unity编辑器中)之类的声音听起来都是个坏主意。
为什么?因为在进行任何集成测试时,您都希望将用户打开时不存在的多余内容拖到您的应用程序中。与iOS版本相比,Unity编辑器可能具有不同的性能或行为(例如)。
那么,为什么要使用Unity测试工具(UTT)呢?
主要原因是方便。Unity编辑器和UTT都是基于易于使用和视觉化的目的而构建的。您可以轻松地编写测试,将其与您的特定游戏挂钩并了解何时失败。
那么Unity编辑器和产品之间的行为差异又如何呢?
毕竟,Unity编辑器是应用程序的包装。这意味着编辑器和产品之间会有一些差异。但是,除了集成测试之外,Unity Editor长期以来一直是包装器。这是一个成熟的平台,上面有成千上万的游戏。通过在编辑器中运行集成测试所获得的结果将非常准确。
在您提供的示例场景中,可以使用Unity Test Tools轻松声明除第一项之外的所有内容。您可以像其他集成测试一样打开场景并验证行为。
我建议您使用UTT编写大部分(如果不是全部)测试。为了增加与持续集成工具(例如Jenkins)的兼容性,您可能希望使用命令行参数从控制台运行这些工具。
启动应用程序和手动测试
在Unity编辑器中,启动应用程序不是您可以精确控制的事情。要验证游戏的这一方面以及更多内容,可以使用一些基本的手动测试。
解决方法如下:
- 确保游戏达到您关心(或可能关心)的特定里程碑时发出某种信号。记录到文件是最常见的方法(使用内置的自动记录或第3方版本)。
- 定期阅读和分析日志。这可以手动进行,也可以使用第二喜欢的脚本语言编写脚本。
备择方案
毫不奇怪,正如Unity所涉及的所有方面一样,我们有多种选择。以下是您可能要考虑的一些事项:
根据项目的规模和范围,您可能希望使用上面概述的一个或多个选项。