Unity中的单元测试

2023-11-18

 

我知道的单元测试有两种方法

1.从Unity的AssetStore窗口下载UnityTestTools(已下架了)

2.使用TestRuner(2018.2.5以上版本有,我用的是2018.2.7)

TestRuner的用法:

操作窗口: Window->General->Test Runner

1.playMode模式:测试含有Update部分的代码,EditMode模式:测试不含Update部分代码

2.RunAll在编辑器中执行所有的单元测试代码(我们写的测试代码) RunSelected执行所选择的单元测试代码Run all in player 在 实际设备上执行所有的单元测试代码

3.是个选择框,我们可以在框里选择Vertical Layout ,Horizontal Layout 两种窗口布局方式,Enable playmode tests for all assemblies 初次添加单元测试需要点击这里并重启unity才能写单元测试代码,否则会有报错

4.运行结果的显示框,可以看到运行时间,如果运行失败的话会显示运行堆栈。

代码编写:

PlayMode部分单元测试代码:(rider用户可以通过在rider编辑器的solution面板 右键:->add->Play Mode Test创建)

创建c#脚本,清空模版内容添加如下代码

sing System.Collections;

using NUnit.Framework;

using UnityEngine.TestTools;

 

namespace Sample.Tests

{

public class PlayModeTest1

{

[Test]

public void PlayModeTest1SimplePasses()

{

// Use the Assert class to test conditions.

}

 

// A UnityTest behaves like a coroutine in PlayMode

// and allows you to yield null to skip a frame in EditMode

[UnityTest]

public IEnumerator PlayModeTest1WithEnueratorPasses()

{

// Use the Assert class to test conditions.

// yield to skip a frame

yield return null;

}

}

}

 

[Test] 部分写我们不需要执行update的测试代码,

[UnityTest] 部分写需要执行update的代码 yield return null 表示执行一次update

除了Test,UnityTest这些属性之外还有

[SetUp]//单元测试运行前的准备工作(写我们的初始环境设置代码,如我们框架的启动)

[TearDown]//单元测试运行后的清除工作

在Test 和UnityTest中我们可以对结果进行验证 :

如: Assert.AreEqual(2,m_Target.SimpleIntReturn(1)) 这里验证 m_Targe.SimpleIntReturn(1)执行的结果是不是2

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity中的单元测试 的相关文章

  • Kafka——集群

    文章目录 集群 1 搭建个集群 2 集群发送消息 3 集群消费 3 1 Procuder 3 2 Consumer 4 消费顺序 集群 对于kafka来说 一个单独的broker意味着kafka集群中只有一个节点 要想增加kafka集群中的
  • 计算机操作系统--UNIX操作系统

    UNIX操作系统 UNIX操作系统是一种多用户 多任务的分时操作系统 它由最内层的硬件提供基本服 务 内核提供全部应用程序所需的各种服务 UNIX文件系统 UNIX文件系统采用树形带交叉勾连的目录结构 根目录即为 非叶节点是目录 文件 叶节

随机推荐

  • DMA 突发模式

    这里的4个节拍 8个节拍 16个节拍的增量突发传输要如何解释 DMA传输需要用到总线矩阵 有个总线仲裁管理总线事务 由它来控制该谁谁用总线 普通的DMA传输可能传一个数据就必须跟总线仲裁提要求 总线仲裁才来安排传输 如果是增量突发传输 就是
  • 全局网络端口配置

    1 查询网络通路情况 curl cip cc 2 对网络进行配置 指定端口 export http proxy socks5 127 0 0 1 7890 export https proxy socks5 127 0 0 1 7890 查
  • openGL API glGenSamplers 详解

    暂时先放openGL官方文档的解释 后面我会加入中文翻译 Name glGenSamplers generate sampler object names C Specification void glGenSamplers GLsizei
  • 【开发工具】JAVA性能分析:3、超详细的JProfiler快照分析(官方中文版)

    Snapshots 快照分析 到目前为止 我们只查看了JProfiler GUI从配置文件JVM中运行的性能分析代理获取数据的实时会话 JProfiler还支持将所有分析数据写入文件的快照 在以下几种情况下 这可能是有利的 您可以自动记录分
  • Java中如何将Set转List呢?

    转自 Java中如何将Set转List呢 下文笔者讲述Java中Set转List的方法分享 如下所示 实现思路 方式1 借助ArrayList进行转换 方式2 借助List实现类的addAll 方法 例 Map
  • 栈之中缀表达式转后缀表达式

    题目描述 就是把我们平常写的运算表达式换成另外一种表达式 运算符前面两个数字执行相关操作 用图说明一下 比如3 2 gt 3 2 比如3 3 2 gt 3 3 2 再比如 3 3 2 2 3 gt 3 3 2 2 3 程序设计思路 特殊情况
  • Xftp5连接linux时,服务器发送了一个意外的数据包。received:3,expected:20

    Xftp5连接linux时 服务器发送了一个意外的数据包 received 3 expected 20的解决方法 xtfp5连接要点 主机 H 可在虚拟机中使用ifconfig进行查看 用户名使用who进行查看 解决方法 进入文本文件 cd
  • 自然语言处理spaCy--训练一个词性标注模型

    自然语言处理spaCy 训练一个词性标注模型 一 什么是词性标注 1 引入库 2 使用百度LAC模块进行词性标注 3 模型训练 完整代码 总结 一 什么是词性标注 词性标注的全称为Part Of Speech tagging 顾名思 义 词
  • Elasticsearch顶尖高手系列-快速入门篇

    快速入门篇课程介绍 Elasticsearch 是目前行业中非常热门的一个技术 Elasticsearch是一种分布式的海量数据搜索与分析的技术 可以用于电商网站 门户网站 企业IT系统等各种场景下的搜索引擎 也可以用于对海量的数据进行近实
  • Android AES加密算法及其实现

    昨天老大叫我看看android加密算法 于是网上找了找 找到了AES加密算法 当然还有MD5 BASE64什么的http snowolf iteye com blog 379860这篇文章列举了很多 但是基本都是j2se平台的 androi
  • python开源报表系统详细操作流程_手把手教你实现自动化报表系统

    今天给大家安利一套自动化报表的实现过程 说到报表 大家脑海里一定浮现了各种高大上的财务报表 不管他们如何实现的 本文却要教你实现自己的报表系统 对于土豪公司来说 这些都是小case 因为商业的工具平台挺多的 选的都头疼 对于小企业 如果不想
  • elf.h

    http en wikipedia org wiki Executable and Linkable Format http www ouah org RevEng x430 htm Format of an ELF executable
  • keytool生成BKS格式的私钥跟信任证书

    Andrid生成SSL证书 第一步 为服务器生成证书库 keytool genkey alias roomcastServer keypass 123456 keyalg RSA keysize 1024 validity 36500 ke
  • JS根据时区获取对应时间

    安装插件 luxon yarn add luxon 页面使用 引入DateTime类 import DateTime from luxon let c DateTime fromObject zone 传入时区 zone America L
  • 操作系统9-文件系统,I/O子系统

    大纲 文件系统和文件 文件描述符 目录 文件别名 文件系统种类 虚拟文件系统 文件缓存和打开文件 文件分配 空闲空间管理 I O子系统特点 结构 传输 冗余磁盘阵列RAID 哟西太太太太太激动了 算是真正意义上的第一次完整严谨写了 博客 笔
  • Java StringBuilder类(为什么更高效、常用方法、构造器)

    StringBuilder类 一 引言 二 StringBuilder类特点 三 StringBuilder构造方法 四 StringBuilder常用方法 五 StringBuilder为什么高效率 六 StringBuffer类 一 引
  • android 文件删除命令大全,Android中删除sdcard里文件的命令

    Android中删除sdcard里文件的命令 有时我们需要删除android模拟器或手机上的sd卡文件 特别是模拟器上的 这时我们就需要借助于一些命令来帮助我们删除文件 复制代码 代码如下 重新挂载模拟器 adb remount 开始she
  • fasterxml ToStringSerializerBase报错

    ToStringSerializerBase报错 报错内容 整合dubbo时报错 Caused by java lang NoClassDefFoundError com fasterxml jackson databind ser std
  • 英语姓名

    英语姓名的一般结构为 教名 自取名 姓 如 William Jafferson Clinton 但在很多场合中间名往往略去不写 如 George Bush 而且许多人更喜欢用昵称取代正式教名 如 Bill Clinton 上述教名和中间名又
  • Unity中的单元测试

    我知道的单元测试有两种方法 1 从Unity的AssetStore窗口下载UnityTestTools 已下架了 2 使用TestRuner 2018 2 5以上版本有 我用的是2018 2 7 TestRuner的用法 操作窗口 Wind