每个开发人员现在应该下载的十种必备工具之一:NUnit

原创 2007年09月20日 09:17:00

NUnit

NUnit 是为 .NET 框架生成的开放源代码单元测试框架。NUnit 使您可以用您喜欢的语言编写测试,从而测试应用程序的特定功能。当您首次编写代码时,单元测试是一种测试代码功能的很好方法,它还提供了一种对应用程序进行回归测试的方法。NUnit 应用程序提供了一个用于编写单元测试的框架,以及一个运行这些测试和查看结果的图形界面。

编写 NUnit 测试

作为示例,我将测试 .NET 框架中 Hashtable 类的功能,以确定是否可以添加两个对象并且随后检索这些对象。我的第一步是添加对 NUnit.Framework 程序集的引用,该程序集将赋予我对 NUnit 框架的属性和方法的访问权。接下来,我将创建一个类并用 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!");
}

这将确认我可以首先向 Hashtable 中添加值并随后检索相应的值 — 这是一个很简单的测试,但能够表现 NUnit 的功能。存在许多测试类型以及各种 Assert 方法,可使用它们来测试代码的每个部分。

要运行该测试,我需要生成项目,在 NUnit 应用程序中打开生成的程序集,然后单击 Run 按钮。图 5 显示了结果。当我看到那个大的绿色条纹时,我有一种兴奋和头晕的感觉,因为它让我知道测试已经通过了。这个简单的示例表明 NUnit 和单元测试是多么方便和强大。由于能够编写可以保存的单元测试,并且每当您更改代码时都可以重新运行该单元测试,您不仅可以更容易地检测到代码中的缺陷,而且最终能够交付更好的应用程序。


5 NUnit

NUnit 是一个开放源代码项目,并且可以从 http://www.nunit.org 下载。还有一个优秀的 NUnit Visual Studio .NET 外接程序,它使您可以直接从 Visual Studio 中运行单元测试。您可以在 http://sourceforge.net/projects/nunitaddin 找到它。有关 NUnit 及其在测试驱动开发中的地位的详细信息,请参阅文章“Test-Driven C#: Improve the Design and Flexibility of Your Project with Extreme Programming Techniques”(MSDN ®Magazine 2004 年 4 月刊)。


     
     

 1using System; 
 2using NUnit.Framework; 
 3  
 4namespace NUnitQuickStart 
 5
 6            [TestFixture] 
 7            public class NumersFixture 
 8            
 9                        [Test] 
10                        public void AddTwoNumbers() 
11                        
12                                    int a=1
13                                    int b=2
14                                    int sum=a+b; 
15                                    Assert.AreEqual(sum,3); 
16                        }
 
17            }
 
18}

19


 

相关文章推荐

每个开发人员现在应该下载的十种必备工具

转自: http://hi.baidu.com/dongdongjiao/blog/category/%2Enet/index/4   看到这篇文章,觉得不错转了过来,对于我这样的.NET新手来...

每个开发人员现在应该下载的十种必备工具

 以前转过几次这个文章,都不全。这个是微软提供的。^_^ 本文自发布以来已经增加了新信息。 请参阅下面的编辑更新。 本文讨论: • 用于编写单元测试的 NUnit   ...

开发人员应该下载的十种必备工具

发布日期: 7/20/2004 | 更新日期: 7/20/2004 本文自发布以来已经增加了新信息。 请参阅下面的编辑更新。 本文讨论: • 用于编写单元测试的 NUni...

每个.NET 开发人员应该下载的十个必备工具 - VC知识库文章

  原文出处:.NET Tools:Ten Must-Have Tools Every Developer Should Download Now 本文自发布以来已经增加了新的信息。...

每个.NET 开发人员应该下载的十个必备工具

原文出处:.NET Tools:Ten Must-Have Tools Every Developer Should Download Now 本文自发布以来已经增加了新的信息。请参阅下面的编辑...

.Net 开发人员必备NUnit

  • 2008年10月08日 15:54
  • 1.23MB
  • 下载

字符集和字符编码(Charset & Encoding)—每个软件开发人员应该无条件掌握的知识!

相信大家一定碰到过,打开某个网页,却显示一堆像乱码,如"бЇЯАзЪСЯ"、"�????????"?还记得HTTP中的Accept-Charset、Accept-Encoding、Accept-Lan...

每个开发人员应该知道的20个关于PHP的有趣的事实

1. PHP最初是个人主页的代表。 2. 现在被称为“超文本预处理器”的PHP在1995年发布。 3. 最初在'C'(1994)中写成一组通用网关接口(CGI)。 4. PHP最初设计为替换一组Per...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:每个开发人员现在应该下载的十种必备工具之一:NUnit
举报原因:
原因补充:

(最多只允许输入30个字)