Unity技术之NUnit 第一章:简介与安装

Unity技术之NUnit 第一章:简介与安装

简介

对于早期在互联网开发时,尤其是对服务器开发来说进行编写测试用例进行测试是非常有必要的,但是目前在游戏开发中,对于单元测试很多公司或者团队是基本忽略的,其实也不是开发者不希望进行单元测试,只是由于开发时间或者重视度不够才会忽略了测试用例的编写。

但是本文中将强调:

  1. 即使在Unity游戏开发中进行单元测试也是非常重要的,尤其是对于开发游戏框架或者底层逻辑来说更重要。
  2. 即使在Unity游戏开发中进行单元测试也是非常重要的,尤其是对于开发游戏框架或者底层逻辑来说更重要。
  3. 即使在Unity游戏开发中进行单元测试也是非常重要的,尤其是对于开发游戏框架或者底层逻辑来说更重要。

对于NUnit的话,无论是直接在VS中使用、直接测试DLL中的用例、也可以在Unity中直接使用,对于使用官方提供的工具一般情况下不会直接使用,所以本文中也将重点介绍如何在VS中使用NUnit以及如何在Unity中使用NUnit为主要内容

声明

本文中的内容属于个人总结整理而来,个人水平有限,对于部分细节难免有理解错误及遗漏之处,如果您在阅读过程中有所发现,希望您能指正,同时文章中的部分内容也参考了其它大神的文章,如果文章中的内容侵犯了您的权益,表示非常歉意,请您指出,我将尽快修改。

如果您进行转载,请标明出处。

Unity技术之NUnit 1.简介与安装(http://www.liyubin.com/articles/2019/05/21/1558433563041.html)

VS中使用NUnit

环境

  • 操作系统:Windows
  • 集成环境:VS2017
  • 语言:C#

安装过程

本文中将以一个C#的控制台应用来介绍如何在VS中集成NUnit,请按下面的操作在VS中安装

  1. 从VS中选择菜单:工具->扩展和更新,弹出扩展和更新面板,如下图:

    Unity技术之NUnit 第一章:简介与安装_第1张图片

  2. 选择选项标签:联机->搜索栏中输入 NUnit,如下:

    Unity技术之NUnit 第一章:简介与安装_第2张图片

  3. 选择上述搜索到的NUnit 3 Test Adapter,NUnit VS Templates ,Test Generator NUnit extension三个插件,选择下载安装

  4. 下载完成后,关闭所有的VS项目,重新打开VS,将会继续完成安装

    Unity技术之NUnit 第一章:简介与安装_第3张图片

  5. 安装成功后,可以从扩展与更新面板中,查看已经安装的扩展,确认上述的三个插件是否成功安装

  6. 在C#控制台应用中,新建一个类,用于进行单元测试,代码如下:

    
    public class MathfExtension
    {
        public int Add(int a,int b)
        {
            return a + b;
        }
    }
    
    
  7. 从VS的菜单中选择:工具->NuGet 包管理器->管理解决方案的NuGet程序包

  8. 在弹出的面板中,选择浏览标签页,在搜索框中进行搜索NUnit,选择图中所示的内容,进行安装
    Unity技术之NUnit 第一章:简介与安装_第4张图片

  9. 在解决方案,选择:添加->新建项->Visual C# 项->Test->NUnit Test Fixture,修改名称为自己想要的名称

    Unity技术之NUnit 第一章:简介与安装_第5张图片

  10. 使用上述的步骤可以新建一个测试类,VS会自动生成部分代码,如下:

    using NUnit.Framework;
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace NUnitTest
    {
        [TestFixture]
        public class TestMathf
        {
            [Test]
            public void TestMethod()
            {
                // TODO: Add your test code here
                var answer = 42;
                Assert.That(answer, Is.EqualTo(42), "Some useful error message");
            }
        }
    }
    
    
  11. 修改脚本中的内容,以用来测试Add方法

    using NUnit.Framework;
    
    namespace NUnitTest
    {
        [TestFixture]
        public class TestMathf
        {
            [Test]
            public void TestAdd()
            {
                MathfExtension mathfAdd = new MathfExtension();
                int value = mathfAdd.Add(10, 10);
    
                Assert.AreEqual(20, value, "Not Same");
            }
        }
    }
    
  12. 完成上述内容后即可开始测试,选择菜单中:测试->窗口->测试资源管理器

    Unity技术之NUnit 第一章:简介与安装_第6张图片

  13. 从测试资源管理器中可以查看到添加的添加方法,执行需要测试的方法

    Unity技术之NUnit 第一章:简介与安装_第7张图片

    从上图中可以看到TestAdd测试通过,TestAddFailed测试失败。

Unity中使用NUnit

Unity引擎本身实现了NUnit的测试方式,实现的DLL代码位于XXXX\Editor\Data\UnityExtensions\Unity\TestRunner(相对安装目录,请自行根据自己的安装路径查找),同时Unity也实现了简易的窗口用于执行测试用例,点击Window->General->Test Runner即可查看到

Unity技术之NUnit 第一章:简介与安装_第8张图片

其中部分功能使用标号向大家解释一下:

1 在运行期需要测试的测试用例集合
2 在编辑器中需要测试的测试用例的集合
3 运行全部测试用例(Run All),执行选中的用例(Run Selected),执行运行失败的用例(Return Failed)
4 当前运行的平台
5 搜索工具条,可以搜索需要的用例
6 如果测试用例中有分类的话,此处可以快速筛选指定的分类
7 测试结果
8 查找到的用例
9 测试用例测试后用来标识测试结果

对于运行测试例也可以通过右键执行的。

章节

  • 总章
  • 第一章:简介与安装
  • 第二章:断言(Assert)详解
  • 第三章:标签(Attribute)详解

参考资料

你可能感兴趣的:(Unity,NUnit,C#,Tools)