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

时间:2018-12-20 22:48:18

标签: c# unity3d

我正在尝试学习如何在Unity3D but the documentation is sparse.

中编写测试

您可以在PlayMode或EditMode测试中都使用[UnityTest],但我不知道选择其中一项的重要性。我认为在PlayMode中,它实际上可以运行您的游戏,但我仍然不明白为什么我会或不想这样做。

1 个答案:

答案 0 :(得分:3)

实际上很简单:

EditMode:

检查不需要播放模式的任何内容(UpdateAwakeStart等),或者必须在输入之前进行显式测试。例如

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

对于某些游戏,在进入PlayMode之前必须对其进行测试,而对于其他方法,该方法只是速度更快,因为它无需在场景中初始化所有内容即可测试一项特定的内容

PlayMode:

检查需要运行时(UpdateFixedUpdate等),已初始化的所有内容(已执行AwakeStart等)或物理等脚本,例如

  • 此对象是否将在访问它们之前初始化所有组件?
  • 这个while循环会在给定时间内终止吗?
  • 我看到的最好的物理示例是有关物理材料的:如果将“反弹”设置为0.99,球会在X秒后停止跳动吗?