zoukankan      html  css  js  c++  java
  • vs 单元测试

    vs 2010 NOget 包 安装NUnitTDNet,下载TestDriven.NET(http://www.testdriven.net/)。

    准备动作

    1. 先到http://www.testdriven.net/download.aspx网站上下载Personal Version(个人版,就这个是免费的),然后安装,默认安装即可。
    2. 根据安装路径将nunit.framework.dll拷贝出来到一个单独的文件夹内,就叫DLL吧以方便使用,如果是默认安装的话路径如下:

    C:/Program Files/TestDriven.NET 2.0/NUnit/2.5/net-2.0/framework

    新建一个程序集

    可以命名这个程序集为TestDriven_NetSample

    使用TestDriven.Net的属性进行测试

    一、将上面说的DLL文件夹拖动到程序集中,然后引用nunit.framework.dll

    二、新建一个类,命名为DomainTest,然后将下面的代码加入到新的类中

    //为程序添加引用

    using NUnit.Framework;

     

    namespace TestDriven_NetSample

    {

        [TestFixture]

        public class DomainTest

        {

            private int x = 0;

     

            [SetUp]

            public void Init_X()

            {

                x = 10;

            }

     

            [Test]

            public void Get_X()

            {

                Assert.AreEqual(10, x);

            }

     

            [TearDown]

            public void Drop_X()

            {

                x = -1;

            }

        }

    }

    三、在private int x = 0;处设置一个断点,然后点中Get_X()函数右键,如下图操作:

     

    然后按F11就可以跟踪程序的执行顺序及变量x的值的变化,看看具体情况是如何的

    TestDriven.Net的常用属性简介

    之所以说是TestDriven.Net常用属性的简介,是因为这里并没有介绍全部的TestDriven.Net的属性,而只是介绍了一部分常用的属性,如果需要用到这些属性之外的属性请参考下面的链接:http://www.cnblogs.com/lyj/archive/2008/09/03/1283390.html

    1)        TestFixture属性

    这个属性用来修饰测试类,表示这个类包含了测试方法,它是其它所有测试属性的先决条件,没有它其它的属性无效。

    注意:使用这个属性修饰类有一些限制:即其修饰的类必须是public的,而且必须有一个缺省的构造函数。

    2)        SetUp属性

    这个属性用来修饰方法,修饰后这个方法在每个测试方法被调用之前执行。

    3)        Test属性

    这个属性用来修饰方法,表示该方法为测试方法。

    注意:测试方法不能带有参数,否则无法对其进行测试

    4)        TearDown属性

    这个属性用来修饰方法,说明这个方法是在每个测试方法被调用完之后执行。

      

    断言——您的检察官

    • 什么是断言:类似于断点,可以让我们检查程序的执行是否和我们的预期一致。
    • 断言概述:在测试框架中,断言是单元测试的核心,我们在测试中要对程序断言,如果某个断言失败,程序会报告一个错误。如果一个测试包含多个断言,那些紧跟失败断言的那些断言就都不会执行,因此每个测试方法最好只有一个断言。
    • 举例,将Get_X()函数中的内容替换成如下:

            public void Get_X()

            {

                Assert.AreEqual(10, x);

                Assert.AreNotEqual(1, x);

                //Assert.AreEqual(1, x);

            }

                  然后执行,看结果如何;再将被注释掉的语句取消注释,然后执行,看结果如何。这是出现错误时的结果(注意红色的部分):

    ------ Test started: Assembly: DAL.Test.dll ------

    TestCase 'TestDriven_NetSample.DomainTest.Get_X' failed:

      Expected: 1

      But was:  10

  • 相关阅读:
    CodeForces Gym 100935G Board Game DFS
    CodeForces 493D Vasya and Chess 简单博弈
    CodeForces Gym 100935D Enormous Carpet 快速幂取模
    CodeForces Gym 100935E Pairs
    CodeForces Gym 100935C OCR (水
    CodeForces Gym 100935B Weird Cryptography
    HDU-敌兵布阵
    HDU-Minimum Inversion Number(最小逆序数)
    七月馒头
    非常可乐
  • 原文地址:https://www.cnblogs.com/wuxl360/p/5481976.html
Copyright © 2011-2022 走看看