SuperAPI AI 工具集

tools-unity-test-framework

测试与质量

查看项目

更新于 10-16 05:42

技能介绍

Unity Test Framework 基于 NUnit,为 Unity 提供 EditMode(快速、不运行运行时)和 PlayMode(完整 Unity 生命周期)两种测试。

用途与场景:单元测试游戏逻辑、集成测试系统、测试 MonoBehaviour 生命周期、自动化回归测试及 CI/CD 测试门禁。

主要能力与用法:

  1. 测试程序集:通过 .asmdef 配置 EditMode(includePlatforms 设为 Editor)与 PlayMode(不限制平台),引用 nunit.framework.dll 和 NSubstitute.dll,并用 UNITY_INCLUDE_TESTS 约束。
  2. EditMode 测试:用 [TestFixture]、[SetUp]、[TearDown]、[Test];支持参数化 [TestCase]、[TestCaseSource]。
  3. PlayMode 测试:用 [UnitySetUp]、[UnityTearDown]、[UnityTest] 配合 IEnumerator 等待帧或时间。
  4. 异步测试:支持 async Task,也可用 UniTask.ToCoroutine 包装为协程。
  5. Mock:使用 NSubstitute 的 Substitute.For、Returns、Received、Arg.Any/Arg.Is 及异步 mock。
  6. VContainer:用 LifetimeScope.Create 注册 mock 与被测服务,验证 Installer 解析依赖。
  7. 断言与工具:提供常用 NUnit 断言、自定义断言、测试基类、异步 helpers、ScriptableObject 创建助手。
  8. 分类与过滤:用 [Category]、[Platform]、[UnityPlatform]、[Ignore] 标记,CLI 可用 -testFilter "Category=Combat"。
  9. CI/CD:命令行用 Unity -runTests -batchmode -projectPath 加 -testPlatform、-testResults、-logFile 运行 EditMode/PlayMode 测试。

限制:资料仅给出模式与示例,未提供具体版本要求、性能数据、收费信息或平台支持细节。