每个开发人员现在应该下载的十种必备工具之一: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


 

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

每个开发人员现在应该下载的十种必备工具 发布日期: 7/20/2004 | 更新日期: 7/20/2004本文自发布以来已经增加了新信息。请参阅下面的编辑更新。本文讨论: ...
  • NewMap
  • NewMap
  • 2007年07月19日 13:21
  • 923

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

•用于编写单元测试的 NUnit•用于创建代码文档资料的 NDoc•用于生成解决方案的 NAnt•用于生成代码的 CodeSmith•用于监视代码的 FxCop•用于编译少量代码的 Snippet C...
  • panzi667
  • panzi667
  • 2004年09月23日 22:32
  • 634

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

每个开发人员现在应该下载的十种必备工具发布日期: 7/20/2004 | 更新日期: 7/20/2004本文自发布以来已经增加了新信息。请参阅下面的编辑更新。本文讨论:•用于编写单元测试的 NUnit...
  • t_larry
  • t_larry
  • 2008年05月02日 09:09
  • 533

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

用于编写单元测试的 NUnit ? ...
  • higer1985
  • higer1985
  • 2007年07月24日 11:14
  • 235

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

本文自发布以来已经增加了新信息。请参阅下面的编辑更新。本文讨论:•用于编写单元测试的 NUnit•用于创建代码文档资料的 NDoc•用于生成解决方案的 NAnt•用于生成代码的 CodeSmith•用...
  • xuxiaoping_cumt
  • xuxiaoping_cumt
  • 2005年12月10日 09:16
  • 3920

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

每个开发人员现在应该下载的十种必备工具 • 用于编写单元测试的 NUnit •...
  • edisundong
  • edisundong
  • 2007年06月10日 16:35
  • 1234

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

本文自发布以来已经增加了新信息。请参阅下面的编辑更新。本文讨论:•用于编写单元测试的 NUnit•用于创建代码文档资料的 NDoc•用于生成解决方案的 NAnt•用于生成代码的 CodeSmith•用...
  • waterflier
  • waterflier
  • 2004年09月16日 10:48
  • 911

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

http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/softwaredev/TenMHToolEDevShouDN.ms...
  • fruitprince
  • fruitprince
  • 2004年08月30日 15:11
  • 539

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

每个开发人员现在应该下载的十种必备工具 发布日期: 7/20/2004 | 更新日期: 7/20/2004本文自发布以来已经增加了新信息。请参阅下面的编辑更新。本文讨论: ...
  • maklonzjing
  • maklonzjing
  • 2006年02月03日 11:13
  • 608

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

欢迎来到 MSDN > 企业开发每个开发人员现在应该下载的十种必备工具•用于编写单元测试的 NUnit•用于创建代码文档资料的 NDoc•用于生成解决方案的 NAnt•用于生成代码的 CodeSmit...
  • raiden
  • raiden
  • 2004年09月07日 21:26
  • 959
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:每个开发人员现在应该下载的十种必备工具之一:NUnit
举报原因:
原因补充:

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