码迷,mamicode.com
首页 > 编程语言 > 详细

C#程序员整理的Unity 3D笔记(九):Unity 3D测试浅析

时间:2015-02-11 23:23:11      阅读:420      评论:0      收藏:0      [点我收藏+]

标签:unity3d培训   unity3d学习   3d游戏开发   unity培训   unity3d游戏   


  
  Unity中的组件上的类,是不能new的,必须通过组件去获取,new出来的东西是null。
  if (amainfo.nameHash == Animator.StringToHash(Base Layer.idle))
  {
  m_animator.SetBool(Run, true);
  }
  代码无法执行时,在navigation面板中点击Bake,如下图
  

技术分享
  必须为碰撞体添加碰撞组件,否则Physics.Raycast函数无法检测到
  删除destory时的时间,否则产生的多线程会导致计数不准确!
  Unity3D自带测试工具,只需要在Asset Store中下载,然后导入,完成后菜单项会有Unity Test Tools项(如下图),完成了插件的导入,就可以进行单元测试了。
  
技术分享
  
技术分享
  Unity3D的单元测试和VS2010的单元测试很几乎一样,如果接触过VS的单元测试,使用Unity3D的单元测试会简单很多。
  1. 新建‘Editor‘文件夹,在文件夹中建一个单元测试的类,如下图
  
技术分享
  2. 在测试类文件中添加需要的测试方法,基本和VS中的单元测试一样,如下图所示:
  
技术分享
  3. 完成测试类的新建,点击Unity Test Tools 菜单中的Unit Test Runner 就可以进行单元测试,如下图:
  
技术分享
  4. 点击进行单元测试菜单后,进入测试界面,点击开始测试按钮,可以看到我们新建的测试类以及包含需要测试的方法,当时绿色的对号时,表示测试通过,否则表示测试失败,如下图:
  
技术分享
  以上就是Unity3D单元测试运行的基本步骤,如果熟悉VS开发平台的话,就会发现和VS的单元测试几乎是完全一样的。
  集成测试Integration 
  由于单元测试只能测试单独函数的逻辑,无法模拟真正的游戏运行场景,所以一般游戏场景的模拟还是要用到集成测试。Unity3D的集成测试会调用Unity的运行函数,逐个测试用例。相当于实际游戏运行环境。
  集成测试分为动态集成测试和普通集成测试
  1. 普通集成测试,如果要测试某个GameObject,需要添加下图2的脚本组件,在 
  
技术分享
  菜单中,添加完成后,可以对组件进行测试,运行 
  
技术分享
  ,即可以看到结果。如下图: 
  
技术分享
  图1
  
技术分享
  图2
  每一项集成测试都需要通过断言的组件的判断,这种普通测试只是用于一些简单的测试,如坐标移动范围,是否需要可见等。
  动态集成测试
  新建测试 New Test ,在它之下创建一个GameObject,创建TestScript脚本绑定在GameObject。
  如果在该场景名下,动态测试脚本会自动挂载到测试面板中。如下图:
  
技术分享
  新建一个.cs文件里,创建若干个测试类。再针对不同模块,分成不同测试场景,进行测试,即可。也能支持NGUI等许多插件。按钮响应事件利用反射强制调用一下。

更多精彩内容,请访问【狗刨学习网】Unity3D培训专家:www.gopedu.com


声明:此篇文档时来自于【狗刨学习网】社区,是网友自行发布的Unity3D学习文章,如果有什么内容侵犯了你的相关权益,请与官方沟通,我们会即时处理。
更多精彩内容,请访问【狗刨学习网】Unity3D培训专家:www.gopedu.com

C#程序员整理的Unity 3D笔记(九):Unity 3D测试浅析

标签:unity3d培训   unity3d学习   3d游戏开发   unity培训   unity3d游戏   

原文地址:http://blog.csdn.net/book_longssl/article/details/43742255

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!