[網摘].NET 程式員十種必備工具-NUnit

來源:互聯網
上載者:User
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 按鈕。 顯示了結果。當我看到那個大的綠色條紋時,我有一種興奮和頭暈的感覺,因為它讓我知道測試已經通過了。這個簡單的樣本表明 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 月刊)。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.