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

  • 相关阅读:
    选择排序--简单(c语言)
    冒泡排序--简单(c++)
    冒泡排序--简单(c语言)
    直接插入排序--简单(c++)
    Microsoft Azure File 服务简介
    【 D3.js 选择集与数据详解 — 1 】 使用datum()绑定数据
    物联网操作系统HelloX V1.77(beta)版本发布
    对XX证券报关于物联网操作系统的几个问题的答复
    使用 Azure Site Recovery 将内部部署虚拟化工作负荷迁移至 Azure
    使用 Azure Site Recovery 灾难恢复至 Azure 的功能现已正式发布
  • 原文地址:https://www.cnblogs.com/wuxl360/p/5481976.html
Copyright © 2011-2022 走看看