unity中的单元测试

来源:互联网 发布:善领p57数据升级工具 编辑:程序博客网 时间:2024/06/16 01:23

前端时间研究了软件的开发方法,于是打算引进TDD(测试驱动开发)。TDD的优缺点就不细说了,网上一搜一大把。

unity中常用的测试工具

1.NUnit

unity5.3以后已经在Editor中集成了测试模块,该测试模块依托于http://nunit.org/

2.Unity Test Tool

Unity官方还推出了一款测试插件Unity Test Tool(基于NSubstitute),除了单元测试之外还包括:

    单元测试    集成测试    断言组件

需要指出的是Unity Test Tool基于NSubstitute这个库。

下面以NUnit为例:(要引入NUnit.Framework命名空间)

    public class h1  {        public float currentHp;        public void TakeDamage(float a)        {            this.currentHp -= a;        }    }    [TestFixture]    public class h1Tests  {        [Test]        public void TakeDamage_h1()        {            //Arrange            h1 h = new h1();            h.currentHp = 100f;            //Act            h.TakeDamage(50f);            //Assert            Assert.AreEqual(50f, h.currentHp);        }    }

[TestFixture]:标识一个自动化NUnit测试的类。

[Test]:可以加在一个方法上,标识这个方法是一个需要调用的自动化测试。

当然,还有一些别的特性供我们使用
常用的NUnit属性见下表:

    [SetUp]     [TearDown]      [TestFixture]     [Test]     [TestCase]     [Category]     [Ignore] 

注意:

测试单元的行为——3A原则

有了NUnit属性可以标识可以自动运行的测试代码和测试代码的一些命名规则,下面我们就来看看如何测试自己的代码。
一个单元测试通常包含三个行为,可以归纳为3A原则即:

    Arrange,准备对象,创建对象并进行必要的设置。    Act,操作对象。    Assert,断言某件事情是预期的。

如有不明白的地方欢迎留言交流。

原创粉丝点击