Unity 单元测试(NUnit,UnityTestTools)

在软件开发中单元测试是非常重要的一个环节, =。=盘子脸去了几家公司都没有单元测试这个概念. 我们的系统虽然从代码看上是分离的, 在多数情况下都需要依赖于其他模块来运行.(单元测试部分内容教我解决这个问题.) 虽然学习了单元测试,但我相信实际过程中使用不到了. 接下来我稍微介绍下Unity如何进行单元测试.(推荐书籍”单元测试的艺术第二版”)

 

为什么要使用单元测试:

1. 我们可以从单元测试入口-> 我们编写的游戏模块 (而不是直接在Unity运行进入我们的模块)

2. 在一个地方统一编写单元测试, 造成测试代码不会分散

3. 还有很多很多优点,(使用单元测试很可能造成项目进度延后)

 

测试框架:

1. C# NUnit 非常不错的框架(需要在visual studio下载两个插件)

    Templates     是创建项目的一个模版,安装之后可以在visual studio中创建测试项目了

    Test Adapter 是调试窗口

1. UnityTestTools(框架已经对Unity窗口进行扩展,测试就直接在Unity窗口进行即可(大同小异而已)),AssetStore中可以下到

 

 

开始介绍NUnit框架基本使用:

首先我们创建一个控制台程序叫单元测试项目,接着创建NUnit测试项目(叫NUnit.Test1)

我们制作一个文件后缀名验证模块,其中一个FileVerify验证后缀名是否合法(txt). 接下来在控制台项目中创建一个FileVerify类里面有一个

IsFileNameEndTxt方法验证字符串是否以txt结尾,是返回true,不是返回false

public class FileVerify
    {
        //验证文件后后缀明是不是txt
        public bool IsFileNameEndTxt(string fileName)
        {
            if(fileName.EndsWith(".txt"))
                return true;
            else
                return false;
        }
    }

接下来看下我们的NUnit项目,他已经帮我们创建一个类(TestClass),里面已经有一个方法TestMethod().现在我们不需要写任何代码,点击菜单栏-测试->窗口->测试资源管理器, 如下图:

点击全部运行,TestMethod就测试成功了.

接下来我们在TestMethod写入测试FileVerify.IsFileNameEndTxt()方法的单元测试, 我们首先想到传入1.txt 和 txt.两个字符串.你的项目要创建

FileVerify类必须NUnit项目引入控制台项目

[TestFixture]
    public class TestClass
    {
        [Test]
        public void TestMethod()
        {
            FileVerify f = new FileVerify();
            bool isResult =  f.IsFileNameEndTxt("1.txt");
            Assert.IsTrue(isResult);

            isResult = f.IsFileNameEndTxt("txt.");
            Assert.IsTrue(isResult,"这里报错了");
        }
    }

我们在运行测试(这里一定会失败啦,因为”txt.”返回的是false), 遇到了Asset.IsTure(false) 抛出异常

单元测试如何调试?

选中单个测试-> 调试选中测试

 

到这里你已经学会了如何进行一个单元测试啦!()

==============================================================================

时间: 2024-10-03 12:27:16

Unity 单元测试(NUnit,UnityTestTools)的相关文章

C#单元测试Nunit小结(20141018)

1. 下载和安装Nunit工具: NUnit是一款堪与JUnit齐名的开源的回归测试框架,供.net开发人员做单元测试之用,可以从www.nunit.org网站上免费获得,然后在系统中安装: 2. 在VS2010中做配置: ? 选择[工具]--[外部工具--] ? 点击[添加],在<标题>和<命令>中分别填写名称和指定外部工具启动的exe ? 在[工具]下面可以看到刚添加配置的外部工具"Nunit2.6",后面就可以直接通过VS这里来启动Nunit: 3. 单元

单元测试——NUnit工具安装及简单运用

下载NUnit.Moq框架地址: 1.下载解压后,得到NUnit-2.6.4文件夹,打开文件夹中的bin文件,如下图: 2.选中nunit.exe发送快捷方式到桌面,双击刚发到桌面上"nunit.exe-快捷方式"图标,进入Nunit工具运行界面,如图: 3如图,通过菜单中File的下拉列表中的"Open Project Ctrl+O"项,找到为测试而写的测试项目的.dll文件(.exe文件也可),添加到NUnit中. 4.下图便是加载后的展示.直接单价Run按钮,

单元测试——NUnit测试简单实例

一.测试准备工作:NUnit的下载及安装 http://blog.csdn.net/wangqingbo0829/article/details/43975243 二.流程: (1)存在一个已实现的"待测项目",例:CountFunction: (2)新建一个测试项目最好以"待测项目名称.Test"命名,例:CountFunction.Test: (3)添加对待测项目的引用(步骤:①在"添加引用"处添加:②导入命名空间): (4)添加引用nuni

java的unity单元测试

import org.junit.After; import org.junit.Before; import org.junit.Test; public class TestUnit { public static void main(String[] args) { System.out.println("aa"); } @Test public void testJunit(){ System.out.println("hello junit!"); } @

NUnit.Framework在VS2015中如何进行单元测试

微软在VS2015中加入了自动化生成测试功能, 在需要测试的源文件的公共方法中右键既可以创建单元测试. 不过需要注意的是,要在公共方法中创建,否则会提示这个错误 如下是自动化单元测试界面,可以发现在VS2015中,开放了对扩展单元测试的支持,如果你有自己安装的扩展单元测试,那么就会在生成自动化测试这里显示 下面来进入主题,如果进行NUnit单元测试 NUnit当前可以在VS2015中安装第2版和第3版,很多人没有测试成功很大一个原因是安装的版本不对应. 先讲解如果给项目添加NUnit单元测试的支

【基础知识】列一下一个.Net WEB程序员需要掌握的知识

基础部分 C# 基础语法 OOP的概念,面向对象的理解 继承 封装 多态 ASP.NET MVC (Web Form 用的越来越少,如果你不熟悉,可以不看) JavaScript 基础语法 如何在HTML里使用JavaScript 常用Dom 操作 SQL Server 常用T-SQL 增删改查 SQL Managment studio 常用操作 jQuery 常用API HTML HTML 所有标签的语义,什么时候用什么标签 CSS 常用CSS的知识,如何在HTML使用 常用的布局 Boots

需要注意学习.net过程的要点

基础部分 C# 基础语法 OOP的概念,面向对象的理解 继承 封装 多态 ASP.NET MVC (Web Form 用的越来越少,如果你不熟悉,可以不看) JavaScript 基础语法 如何在HTML里使用JavaScript 常用Dom 操作 SQL Server 常用T-SQL 增删改查 SQL Managment studio 常用操作 jQuery 常用API HTML HTML 所有标签的语义,什么时候用什么标签 CSS 常用CSS的知识,如何在HTML使用 常用的布局 Boots

哎哟,我的.NET呀

今早无意看到一篇文章,看着.Net被喷得越来越惨,终于还是有人忍不住要奋起反抗了哇! 虽然我已经转了java(大致方向)(没想到我是转的java方向!)好吧!其实也不算是转,就像文章所说的,我最多算是下等马! 但对.net还是很怀念的!借以此篇,用来怀念我对.net的思念吧![顺便附上博文里张善友老师的.net终身成就路线] 基础部分 C# 基础语法 OOP的概念,面向对象的理解 继承 封装 多态 ASP.NET MVC (Web Form 用的越来越少,如果你不熟悉,可以不看) JavaScr

.NET WEB程序员需要掌握的技能

本来这个是我给我们公司入职的新人做一个参考,由于 @张善友 老师在他的微信号转了我的这篇文章<<.Net WEB 程序员需要掌握的技能>>,很多人觉得比较有用,说是看了后知道一步步怎么学,这个让我受宠若惊,另外我看到有些同学文章引用了这部分,但是格式很乱看不清楚,所以我就重新整理一下在博客园发一下,希望对更多人有用,也希望大家补充. 基础部分 C# 基础语法 OOP的概念,面向对象的理解 继承 封装 多态 ASP.NET MVC ( Web Form 用的越来越少,如果你不熟悉We