Unity: PlayMode UnityTest和EditMode UnityTest之间有什么区别?

12

我正在尝试学习如何在Unity3D中编写测试,但文档很少。

你可以在PlayMode或EditMode测试中使用[UnityTest],但我不理解选择其中一个的重要性。我认为在PlayMode中,它实际运行你的游戏,但我仍然不明白我是否需要这样做。

1个回答

13

这实际上非常简单:

编辑模式:

检查不需要PlayMode(Update, Awake, Start等)或者必须在进入前明确测试的任何内容,例如:

  • 场景中是否有Camera
  • 混合现实:播放模式开始前,相机是否在位置0, 0, 0
  • 相机是否具有PhysicsRaycaster组件,以使IPointerXxx接口工作?

还包括自定义编辑器脚本的功能。

对于某些内容,在进入PlayMode之前测试它们是必要的,对于其余的内容,这种方法只是更快,因为在能够测试一个特定的事物之前,它不必初始化所有在您的场景中的东西。

播放模式:

检查需要运行时(UpdateFixedUpdate等)、已初始化的所有内容(执行了AwakeStart等)或者物理方面的信息。

  • 访问这个对象之前,是否已初始化其所有组件?
  • while 循环是否会在一定时间内终止?
  • 我看到的最好的物理实例是关于物理材料的: 如果反弹性设置为0.99,球会在X秒后停止跳跃吗?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接