unity中的单元测试

前端时间研究了软件的开发方法,于是打算引进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,断言某件事情是预期的。

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值