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

Dan*_*lan 10 c# unity-game-engine

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

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

der*_*ugo 11

其实很简单:

编辑模式:

检查任何不需要播放模式(UpdateAwakeStart等),或者具有明确测试之前进入它如

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

或者自定义编辑器脚本的功能。

对于某些情况,有必要在进入 PlayMode 之前对其进行测试,对于其他情况,此方法更快,因为它不必在能够测试特定事物之前初始化场景中的所有内容

游戏模式:

需要运行时(检查脚本UpdateFixedUpdate等等),一切都初始化(执行AwakeStart等等)或物理如

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