zoukankan      html  css  js  c++  java
  • 十个必备的.NET开发小工具(4):NUnit

    作者:James Avery 翻译:lucentoff

    出处:http://msdn.microsoft.com/msdnmag/issues/04/07/MustHaveTools/default.aspx

    声明:版权属原作者所有,转载请注明出处!


    NUnit

     

    NUnit是一个为.NET Framework建立的开源单元测试框架。NUnit允许在代码中编写测试程序来测试应用程序特定的功能。单元测试是一种优秀的测试代码功能性的方法,它也为应用程序提供了一种回归测试方法。NUnit为编写单元测试提供一个框架并提供图形化界面运行测试和查看结果。

     

    编写Nunit测试

    例如,我想测试.NET FrameworkHashtable类的功能性以确定两个对象是否可以添加到Hashtable中并进行检索。首先,我要添加对NUnit.Framework程序集的引用,以便能够访问Nunit Framework的特性和方法。接下来,创建一个类并以TestFixture特性标记。这个特性让NUnit知道该类包含NUnit测试:

     

    using System;
    using System.Collections;
    using NUnit.Framework;
     
    namespace NUnitExample
    {
        [TestFixture]
        public class HashtableTest {
            public HashtableTest() {
                
            }
        }
    }

     

    再创建一个方法并以[Test]特性标记,以便让NUnit知道该方法是一个测试。然后,建立一个Hashtable并添加两个值,最后使用Assert.AreEqual方法来查看是否能够检索到相同的值添加到了Hashtable中,代码如下所示:

     

    [Test]
    public void HashtableAddTest()
    {
        Hashtable ht = new Hashtable();
                
        ht.Add("Key1", "Value1");
        ht.Add("Key2", "Value2");
     
        Assert.AreEqual("Value1", ht["Key1"], "Wrong object returned!");
        Assert.AreEqual("Value2", ht["Key2"], "Wrong object returned!");
    }

     

    以上测试虽然简单,但能够展示出NUnit的功能。NUnit中有许多测试类型和各种Assert方法,可用于测试代码的每个部分。

     

    要运行该测试,需要创建一个项目,在NUnit中打开已生成的程序集,然后点击“Run”按钮,运行结果如图5所示。

     

     

    5  NUnit测试运行结果

     

    当看到绿色的状态条,我感觉很兴奋也很亲切,因为它表明测试通过了。这个简单的例子展示了NUnit的易用性和强大的功能。编写可以保存并且无论何时改变代码都能重新运行的单元测试不仅使得检测代码缺陷更为容易,而且让你能够交付更好的应用程序。

     

    NUnit是一个开源项目,下载网址:http://www.nunit.org/。还有一个很好的NUnit Visual Studio .NET插件,它能让你直接从Visual Studio运行单元测试。这个插件可以在http://sourceforge.net/projects/nunitaddin找到。要了解更多有关NUnit的信息以及它在测试驱动开发中的应用,可阅读20044MSDN? 杂志中的文章Test-Driven C#: Improve the Design and Flexibility of Your Project with Extreme Programming Techniques(《C#测试驱动开发:利用极限编程技术改进项目设计和灵活性》)。

     


     
    [ 以下内容为译者补充,摘自:http://www.nunit.org/ ]
     
    Nunit包括两种运行方式:控制台方式(nunit-console.exe)和图形用户界面方式(nunit-gui.exe)。
     
    控制台方式:以命令行方式运行,可自动将测试结果保存为XML格式,允许产生报告或对结果进行处理。该方式对于测试自动化和集成到其它系统中非常有用。
     
     
    图形用户界面方式:该方式为Windows窗体应用程序,以图形化界面显示测试结果,测试不能运行标记为黄色圆圈,测试成功标记为绿色圆圈,如果所有测试都失败则标记为红色。
     
  • 相关阅读:
    6个实例详解如何把if-else代码重构成高质量代码
    Fiddler抓包工具总结
    thinkphp5 图片上传七牛云
    mysql事件(定时任务)处理超时失效订单
    修改PhpStorm创建Php类文件时头部作者
    sed理论讲解、实战
    sed实战、find实战、grep实战
    通配符、正则表达式、python去重
    python3:requests模块-写了一点
    《流畅的Python》一副扑克牌中的难点
  • 原文地址:https://www.cnblogs.com/luoyaoquan/p/2047657.html
Copyright © 2011-2022 走看看