KING_U3D学习之Unity Test Tools(二)_小实例实践
2015-11-16 23:24
309 查看
上一篇文章说了一下Unity Test Tools的官方例子 KING_U3D学习之Unity
Test Tools(一)_官方例子解析
下面写两个小实例运用一下:
一、单元测试实例
1. 新建‘Editor‘文件夹,在文件夹中建一个单元测试的类(测试类一定要放在Editor文件夹下),如下图
2. 在测试类文件中添加需要的测试方法,基本和VS中的单元测试一样,注意要引用using NUnit.Framework以及加上TestFixture和Test属性,
测试类和方法都必须为public,方法且必须为无参数,无返回值。如下图所示:
3. 完成测试类的新建,点击Unity Test Tools 菜单中的Unit Test Runner 就可以进行单元测试,如下图:
4. 点击进行单元测试菜单后,进入测试界面,点击开始测试按钮,可以看到我们新建的测试类以及包含需要测试的方法,当时绿色的对号时,表示测试通过,否则表示测试失败,如下图:
二、集成测试实例
由于单元测试只能测试单独函数的逻辑,无法模拟真正的游戏运行场景,所以一般游戏场景的模拟还是要用到集成测试。Unity3D的集成测试会调用Unity的运行函数,逐个测试用例。相当于实际游戏运行环境。
集成测试分为动态集成测试和普通集成测试
1. 普通集成测试
如果要测试某个GameObject,需要添加下图1的脚本组件,在
菜单中,添加完成后,可以对
组件进行测试,运行
,即可以看到结果。
图1
每一项集成测试都需要通过断言的组件的判断,这种普通测试只是用于一些简单的测试,如坐标移动范围,是否需要可见等。
2.动态集成测试
新建测试 New Test ,在它之下创建一个GameObject,创建TestScript脚本绑定在GameObject。 如果在该场景名下,动态测试脚本会自动挂载到测试面板中。如下图:
新建一个.cs文件里,创建若干个测试类。再针对不同模块,分成不同测试场景,进行测试,即可。也能支持NGUI等许多插件。按钮响应事件利用反射强制调用一下。
参考:
http://imgtec.eetrend.com/blog/4143
http://www.xifarm.com/csharp_learnunity3d_abc_9_test/
Test Tools(一)_官方例子解析
下面写两个小实例运用一下:
一、单元测试实例
1. 新建‘Editor‘文件夹,在文件夹中建一个单元测试的类(测试类一定要放在Editor文件夹下),如下图
2. 在测试类文件中添加需要的测试方法,基本和VS中的单元测试一样,注意要引用using NUnit.Framework以及加上TestFixture和Test属性,
测试类和方法都必须为public,方法且必须为无参数,无返回值。如下图所示:
3. 完成测试类的新建,点击Unity Test Tools 菜单中的Unit Test Runner 就可以进行单元测试,如下图:
4. 点击进行单元测试菜单后,进入测试界面,点击开始测试按钮,可以看到我们新建的测试类以及包含需要测试的方法,当时绿色的对号时,表示测试通过,否则表示测试失败,如下图:
二、集成测试实例
由于单元测试只能测试单独函数的逻辑,无法模拟真正的游戏运行场景,所以一般游戏场景的模拟还是要用到集成测试。Unity3D的集成测试会调用Unity的运行函数,逐个测试用例。相当于实际游戏运行环境。
集成测试分为动态集成测试和普通集成测试
1. 普通集成测试
如果要测试某个GameObject,需要添加下图1的脚本组件,在
菜单中,添加完成后,可以对
组件进行测试,运行
,即可以看到结果。
图1
每一项集成测试都需要通过断言的组件的判断,这种普通测试只是用于一些简单的测试,如坐标移动范围,是否需要可见等。
2.动态集成测试
新建测试 New Test ,在它之下创建一个GameObject,创建TestScript脚本绑定在GameObject。 如果在该场景名下,动态测试脚本会自动挂载到测试面板中。如下图:
新建一个.cs文件里,创建若干个测试类。再针对不同模块,分成不同测试场景,进行测试,即可。也能支持NGUI等许多插件。按钮响应事件利用反射强制调用一下。
参考:
http://imgtec.eetrend.com/blog/4143
http://www.xifarm.com/csharp_learnunity3d_abc_9_test/
相关文章推荐
- KING_U3D学习之Unity Test Tools(一)_官方例子解析
- Unity中用到的C#补充(七)- 委托与事件
- Unity3D将来时:IL2CPP——C#的变迁
- UnityEditor 用Gizmos画出类似NGUI,UIPanel的矩形框
- Unity中用到的C#补充(六)- Delegate委托
- Unity中C# 文件本地读取,本地保存等实例
- Unity中的Time和Time.timeScale对协程的yield的影响
- Unity Android 加密 so
- Unity3D笔记2
- Unity与Android接口互相调用
- Unity 编辑模式下快速移动其它gameObject到当前gameObject位置处
- Unity Json
- 再详细的介绍一下Unity5的AssetBundle
- Unity5的AssetBundle的一点使用心得
- Unity3D研究院编辑器之创建Lua脚本模板(十六)
- Unity3D Editor 编辑器简易教程
- UnityTestTool实用解释
- Unity5 发送广播与消息的探索
- Vector方法magnitude
- unity 使用xcode5.1 launching iOS project via Xcode5 failed