我最近遇到了问题,你不能在单元测试中实例化MonoBehaviour
,所以我正在经历移动所有与Unity无关的代码(代码不访问任何MonoBehaviour
字段/方法)为单独的模型类,然后在相应的MonoBehaviour
类中使用。但是,我所见过的所有Unity示例都具有与MonoBehaviour
类中的给定游戏对象关联的所有代码。例如,游戏中的orc的代码位于Orc
类中,该类来自MonoBehaviour
。所以当我将单个Orc
MonoBehaviour
类分为一个orc模型和一个orc MonoBehaviour
时,我正在努力命名我的类。命名MonoBehaviour
类与命名相应的模型类时是否有最佳实践指南?命名模式与MonoBehaviours
0
A
回答
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类获取所有的相关的统一行动和回调。需要测试的逻辑进入自定义类。
至于命名,您可以使用XXXXController(MB)和XXXContainer(非MB)。
在您的测试中,您将重点放在测试包含所有逻辑的XXXContainer。
+0
谢谢。这正是我所期待的。 –
相关问题
- 1. 与定制模式/命名空间
- 2. Xml模式命名空间
- 3. XML模式/命名空间
- 4. XML模式命名空间
- 5. Rails的命名空间模型与非命名空间模型
- 6. 隐式与未命名包
- 7. Linux重命名命令模式
- 8. Jsdoc命名空间与显示模块模式
- 9. 揭示模块模式命名约定
- 10. Javascript模块化命名空间模式
- 11. Keras无模块命名模式
- 12. 动态命名空间模块模式
- 13. 春WS与命名空间声明麻烦模式实例
- 14. 重命名与不同模式的文件在Linux
- 15. XML的模式XSD错误:与命名空间
- 16. 转义字符串包含与preg_quote命名子模式
- 17. 与命名模式相匹配的R-乘法列
- 18. Vaadin MSSQLGenerator与命名模式内的表导致错误
- 19. 命名空间与ES6模块
- 20. 的form_for与模块和命名空间
- 21. 类与模块的Ruby命名空间?
- 22. 命名模板
- 23. 模板命名
- 24. REST API资源命名模式
- 25. Rails的最佳做法/命名模式
- 26. 允许命名的子模式字符
- 27. 使用RegEx验证重命名模式
- 28. SQL Server:命名模式的约定
- 29. preg_match命名的子模式 - 可选键
- 30. 为给定模式重命名文件
我宁愿考虑做正确的事。游戏编程不像'应用程序编程'。单元测试 - 大部分时间 - 有点愚蠢。这里有一个类似的问题的链接,用一个答案解释什么和为什么http://stackoverflow.com/questions/2418845/is-unit-testing-viable-in-game-programming – 2016-07-16 01:06:11
这个问题似乎主要是在谈论如何为游戏编写好的测试。我的问题更多的是如何命名我的课程。在我上面的例子中,我想有一个我编写测试的'Orc'类。但是我见过的Unity书籍/例子将会在场景中附加一个“orc”脚本(来自'MonoBehaviour')。我正在寻找关于如何命名这些'MonoBehaviour'脚本的建议,因为脚本将是一个“orc”脚本,但是'Orc'已经是模型类的名称。 –
@Mark单元测试完全不是愚蠢的,它允许在没有运行项目的情况下测试方法,使用许多不同的输入并在修改代码时报告红色标记会影响另一个代码(以及其他许多事情)。节省了无数个小时。实际上这对我们来说是一个招聘案例,一个申请人声称他不会因为毫无用处而进行测试,因为他是Unity ......而且他更好地学习。 – Everts