《软件工程综合实践专题》——Unity 测试工具简单介绍

Unity 3d平台测试工具——Editor Tests Runner测试工具的介绍

 

背景:

作为一个游戏开发的新手,觉得Unity开发一些游戏十分的方便,但是有很多发布到Android端可能会出现这样那样的问题,开发人员为我们提供了很多优化策略,这里我主要讲一下对于Unity的测试工具——Editor Tests Runner。

一.工具介绍

Unity 中的测试工具是Unity Test Runner,它基于NUnit,并增加了 UnityTestAttribute 以提供跳过当前帧的功能,这对于涉及到 Update() 等生命周期函数的测试非常有用,例如 GameObject 的运动测试。

二.单元测试

单元测试定义:单元测试在传统软件开发中是非常重要的工具,它是指对软件中的最小可测试单元进行检查和验证,一般情况下就是对代码中的一个函数去进行验证,检查它的正确性。一个单元测试是一段自动化的代码,这段代码调用被测试的工作单元,之后对这个单元的单个最终结果的某些假设进行检验。单元测试使用单元测试框架编写,并要求单元测试可靠、可读并且可维护。只要产品代码不发生变化,单元测试的结果是稳定的。

单元测试可以让你在软件开发的早期阶段发现 Bug,而不必到集成测试的时候才发现,开发完成一个模块(类、函数)就对应地做一个单元测试,尽早发现并处理掉bug,提高代码的质量。(反正单元测试不能没有!效果真的好)

三.使用介绍

 首先我们可以在引擎中Window里面找到Test Runner这个工具(不同版本地方不同,但都在Window里 大家可以翻一下找找)。打开后如下所示:

 

《软件工程综合实践专题》——Unity 测试工具简单介绍

紧接着,点击"CREATE EDITMODE"会跳转到下面这个界面:

《软件工程综合实践专题》——Unity 测试工具简单介绍

点击之后,会自动在你的目录下面创建Tests文件夹,以及一个默认命名的测试脚本,用Vs打开脚本进行编辑:

《软件工程综合实践专题》——Unity 测试工具简单介绍

《软件工程综合实践专题》——Unity 测试工具简单介绍

 

《软件工程综合实践专题》——Unity 测试工具简单介绍

这里主要在里面加入了一些断言的操作语句对软件进行简单测试

脚本编写完成之后,回到Unity引擎中的Test Runner界面处,点击左上方的Run All之后,这些代码会自动运行并进行检测,结果如下:

《软件工程综合实践专题》——Unity 测试工具简单介绍

可以看到都通过了测试。

Unity作为一款好用的游戏引擎,也提供了一些其他的测试方法。如果你需要一次执行多个代码段,可以尝试在传入参数时加入批处理命令的参数:

  • runEditorTests
  • editorTestsResultFile
  • editorTestsFilter
  • editorTestsCategories
  • editorTestsVerboseLog

 

 

四.注意

测试函数要标上 [Test] 或者 [UnityTest] 属性才会被 Test Runner 识别,前者是普通测试,后者具有跳过帧的能力(可使用 yield return null,根据测试模式决定是跳 EditorApplication.update 还是 update)。

Unity Test Runner 使用 NUnit 3.5 版本。

 

这学期最后一次博客也完成了,除了这次也没有什么机会写一些总结了。

刚开始上这门课的时候,我觉得这节课事情太多了,几乎周周博客,周周任务。但是到后来才发现,通过写博客可以让自己对这方面的知识了解的更加深刻(不然要是错了让大家看到也未免太丢人了!)。另外,这学期作为小组的组长,协调分配成员的分工任务,通过几次交流和报告,自己的这方面能力也有所提高。最后一次博客了,这次因为我们的期末成品比较特殊,是在游戏引擎上开发的,对这方面的测试内容一直不是很了解,也从来没有想到过要在这里执行测试,但是测试之后还是发现也能发现其中的一些问题,总的来说收获不小。还有就是,老师辛苦啦!

 

上一篇:~postman使用Runner


下一篇:git升级(解决gitlab-runner执行报错)