Unity 单元测试(PLUnitTest工具)
代码测试的由来
上几个星期上面分配给我一个装备系统,我经过了几个星期的战斗写完90%的代码. 后来策划告诉我需求有一定的改动,我就随着策划的意思修改了代码. 但是测试(Xu)告诉我装备系统很多功能都用不上了. Xu: 我有300多项测试用例,现在有很多项都无法运行了. 你修改了部分代码我又要全部跑一边, 我只能告诉你,我只能大概看一遍了. 之后我就买了本单元测试的书籍,向项目中引用代码测试的概念,帮助我几分钟测试完xxx多项测试用例,不过跟主程谈引入这个东西还是失败了, 应该他们认为不需要这个东西. 0.0那我还是把他放出来吧.
PLUnitTest(工具的由来)
我照着书籍上在Unity项目中创建单元测试框架, 后来发现我之前写好的函数,输入我传入一些数据才可以获取函数结果. 这些数据是一些类. 这些类的构造结构非常复杂,我的单元测试是在Untiy不运行下测试的. 而这些数据需要Unity运行下才能获取(比如从本地xml读取出来), 我不可能因为测试几个函数又要编写一套数据读取模块获取到函数需要的数据?(这样太麻烦), 聪明的盘子脸想到了在游戏中把这些数据序列化保存下来,拿到单元测试项目中使用,就可以测试自己的函数啦. 这个工具就诞生了.
如果你想在Unity 或者 其他项目中引入单元测试,但因为自己要组织数据来测试函数而烦恼,这个工具可以帮助你.
工具的作用:
1) 支持Json格式化输出字符串(以Json格式查看对象信息)
2) 支持对象状态捕捉
3) 序列化支持(Json,BinaryFormatter,ProtoBuffer等)
这里我就直接附上部分代码,图,地址.
namespace PlatefaceTest
{
[TestClass]
public class EquipForgeTest
{
[TestMethod]
public void EquipCompoud()
{
//组织本次测试所需要的数据,PLUnitTools
StateTools.CurSerializeType = SerializeType.Protobuf_Net; //选择序列化方式
var i = StateTools.GetState<c_gs.MetaData.Formula>(DefineTestId.TestId); //反序列化,你捕捉的对象 //代码测试
Assert.IsTrue(ItemManager.Instance.MasterialTypeCheck(i, EquipForge.Instance.MasterialItemAry));
}
}
}




工具地址:http://code.taobao.org/svn/TestObjectCatch/
实例地址: http://code.taobao.org/svn/PLUintTestDemo/
Unity 单元测试(PLUnitTest工具)的更多相关文章
- Unity自动打包工具
转载 https://blog.csdn.net/ynnmnm/article/details/36774715 最开始有写打包工具的想法,是因为看到<啪啪三国>王伟峰分享的一张图,他们有 ...
- 单元测试-代码覆盖率工具 -- JaCoCo
最近学习Mybatis的官方文档,看到了[项目文档]一节有很多内容没有见过,做个笔记,理解一下. 随着敏捷开发的流行,编写单元测试已经成为业界共识.但如何来衡量单元测试的质量呢?有些管理者片面追求单元 ...
- Unity 单元测试(NUnit,UnityTestTools)
在软件开发中单元测试是非常重要的一个环节, =.=盘子脸去了几家公司都没有单元测试这个概念. 我们的系统虽然从代码看上是分离的, 在多数情况下都需要依赖于其他模块来运行.(单元测试部分内容教我解决这个 ...
- 如何为你的美术妹子做Unity的小工具(二)
你想像这样一样 为自己的Unity 小工具打开一个Unity的窗口吗? 看起来就很厉害对不对 妹子看了还不激动吗 ?!
- 对 JavaScript 进行单元测试的工具
简介 单元测试关注的是验证一个模块或一段代码的执行效果是否和设计或预期一样.有些开发人员认为,编写测试用例浪费时间而宁愿去编写新的模块.然而,在处理大型应用程序时,单元测试实际上会节省时间:它能帮助您 ...
- Tessy — 嵌入式软件单元测试/ 集成测试工具
Tessy 源自戴姆勒- 奔驰公司的软件技术实验室,由德国Hitex 公司负责全球销售及技术支持服务,是一款专门针对嵌入式软件进行单元/ 集成测试的工具.它可以对C/C++ 代码进行单元.集成测试,可 ...
- JUnit---Java单元测试必备工具
在我们每天业务代码都写不完,为什么还要写测试代码呢,项目完成之后我再测不行吗? 看起来像是增加了代码量,但是它恰恰帮你减少了后期测试排错的时间,每个team,每个人都是有Bug指标的,首先,每次你 ...
- 如何为你的美术妹子做Unity的小工具(一)
在上的工具栏添加 也就是这个位置
- unity收集log工具
参考 yusong:http://www.xuanyusong.com/archives/2477 凉鞋 :https://www.cnblogs.com/liangxiegame/p/Uni ...
随机推荐
- Showing 2 changed files with 3 additions and 3 deletions.
4 lib/matplotlib/__init__.py View @@ -126,9 +126,9 @@ def compare_versions(a, b): else: ...
- oracle group by rollup,decode,grouping,nvl,nvl2,nullif,grouping_id,group_id,grouping sets,RATIO_TO
干oracle 047文章12当问题,经验group by 声明.因此邂逅group by rollup,decode,grouping,nvl,nvl2,nullif,RATIO_TO_REPOR ...
- AJAX的概念介绍
AJAX学习 1.XMLHttpRequest对象创建 var request= new XMLHttpRequest(); 兼容ie6.ie5 var request; if(windoe.XMLH ...
- 2014ACMICPC亚洲区域赛牡丹江现场赛之旅
下午就要坐卧铺赶回北京了.闲来无事.写个总结,给以后的自己看. 因为孔神要保研面试,所以仅仅有我们队里三个人上路. 我们是周五坐的十二点出发的卧铺,一路上不算无聊.恰巧邻床是北航的神犇.于是下午和北航 ...
- Creating Apps With Material Design —— Defining Shadows and Clipping Views
View转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢 定义阴影和裁减 材料设计引入了深度的 ...
- AIX-du
du命令显示用于文件的块的数量.如果指定的File参数实际上是一个目录,就要报告该目录内的所有文件.如果没有提供 File参数,du命令使用当前目录内的文件.如果File参数是一个目录,那么报告的块的 ...
- CSS3新特性(阴影、动画、渐变、变形、伪元素等) CSS3与页面布局学习总结——CSS3新特性(阴影、动画、渐变、变形、伪元素等)
目录 一.阴影 1.1.文字阴影 1.2.盒子阴影 二.背景 2.1.背景图像尺寸 2.2.背景图像显示的原点 三.伪元素 3.1.before 3.2.after 3.3.清除浮动 四.圆角与边 ...
- C#。2.1 运算符
运算符: 一.算术运算符: + - * / % ——取余运算 取余运算的应用场景: 1.奇偶数的区分. 2.把数变化到某个范围之内.——彩票生成. 3.判断能否整除.——闰年.平年. int a = ...
- div与span
div与span的区别: div标签属于块级元素,span标签属于行内元素,使用对比效果如下: <!DOCTYPE html> <html> <head lang=&qu ...
- jquery获取checkbox被选中的值
只用一个循环,就可以找出被选中的checkbox的值 var s; $("[name = b]:checkbox").each(function () { ...