NUnit 使用方法(一) 常見屬性

NUnit 是一個單元測試的 framework ,完全由 C# 語言寫成。
在 Visual Studio 要寫單元測試,除了它自身的內建的 Test project 外,也可以試試 NUnit 。
以下就稍微介紹 NUnit 的一些屬性設定及如何在 Visual Studio 使用 。

1.  如何在 Visual Studio 裡使用:

  • 官網下載完成後,在要使用的專案裡的方案總管,專案名稱上按右鍵,選擇「Add Reference」,在 .NET 選擇 nunit.framework 加入nunit
  • 也可以透過之前介紹的 NuGet 管理工具來搜尋並安裝,參考這裡

2. 常用標籤屬性(程式碼範例)

using NUnit.Framework;

namespace ConsoleApplication1
{
   [TestFixture]
    public class NunitTest
    {
       [SetUp]
       public void setUp() {
             Console.WriteLine("Setup");
       }

       [TearDown]
       public void tearDown() {
             Console.WriteLine("tearDown");
       }

       [Test]
       public void testcase1(){
             Console.WriteLine("testcase1");
             Assert.AreEqual(1,2);
       }

       [Ignore]
       [Test]
       public void testcase2(){
             Console.WriteLine("testcase2");
             Assert.AreEqual(1, 1);
       }

       [Test]
        public void testcase3(){
           Console.WriteLine("testcase3");
           Assert.AreEqual(1, 1);
        }
    }
}
  • [TestFixture]: 表示這個類別包含測試,此類別必須是 public 的,否則 NUnit 會無法識別
  • [SetUp]: 每個 Test Case 的前置動作,在 Test Case 執行前都會先執行這 function
  • [Test]: 表示這個 function 為一個 Test Case,作為 Test Case 這個 function 不能有參數與回傳值。
  • [TearDown]: 每個 Test Case 結束後會執行這個 function,來恢復為原本的設定值。
  • [Ignore]:有時候可能此 testcase 尚未完成或在重構,就可以使用這個屬性讓此測試先不執行。

3. Assertion
Assert.AreEqual(expectedResult, actualResult);
Assert 為一個類別,包含 AreEqual,AreSame,Equals, Fail,IsFalse,IsNotNull ..等方法,用來判斷我們的測試結果是否跟我們預期的一致。

4. 執行測試
在 Visual Studio 編譯完畢後

  • 開啟 NUnit 目錄底下的 NUnit-GUI
    2
  • File -> Open project
    開啟要執行的專案並按下 Run 開始執行測試。
  • 測試結果:
    3如上圖,我們可以看到總共有三個 Test Case 分別有不同顏色。
    綠色表示測試 pass。
    紅色表示測試 fail。
    黃色則表示 Test case 被 Ignore。

本篇就稍微介紹一下如何使用 NUnit 以及較常看到的一些屬性,之後再針對其它屬性作進一步的介紹。

參考網址:
NUnit Test 筆記 (1) – NUnit in Visual Studio
NUnit2.0詳細使用方法

 

廣告

3 thoughts on “NUnit 使用方法(一) 常見屬性

發表迴響

Please log in using one of these methods to post your comment:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s