我最近遇到了无法在单元测试中实例化MonoBehaviour
的问题,因此我正在完成移动所有非Unity相关代码的过程(无法访问的代码)任何MonoBehaviour
字段/方法)到单独的模型类中,然后在相应的MonoBehaviour
类中使用。但是,我见过的所有Unity示例都包含与MonoBehaviour
类中给定游戏对象关联的所有代码。例如,游戏中的兽人将其代码放在Orc
类中,该类派生自MonoBehaviour
。因此,当我将单个Orc
MonoBehaviour
类分离为orc模型和orc MonoBehaviour
时,我正在努力命名我的类。命名MonoBehaviour
类与命名相应的模型类时是否有最佳实践指南?
答案 0 :(得分:2)
游戏就像任何其他应用程序一样可以运行测试。如果测试在游戏中没用,Unity就不会花费数小时来开发工具。
就像任何其他应用程序一样,某些部分无法像依赖框架的输入那样进行测试。在Unity中,关于引擎的所有方法,如Update,Collision和其他方法都无法测试,但它们可能是伪造的。
Unity中的其他案例是MonoBehaviour,但您可以轻松地绕过该博客帖子:
http://blogs.unity3d.com/2014/07/28/unit-testing-at-the-speed-of-light-with-unity-test-tools/
基本上,MB类获取所有与Unity相关的操作和回调。需要测试的逻辑在自定义类中。
至于命名,您可以使用XXXXController(MB)和XXXContainer(非MB)。
在测试中,您专注于测试包含所有逻辑的XXXContainer。