NUnit Test 筆記 (1) - NUnit in Visual Studio

NUnit是一個Open Source的框架,用來進行.NET程式的單元測試。以下分享一下自己閱讀以及使用NUnit的紀錄,希望對大家有些幫助。

什麼是單元測試(Unit Test)?


簡單來說,一個單元就是在程式當中最基本、最小的一個單位,最常見的是一個方法。單元測試就是為了去檢驗這個單元所執行的結果是否正確,換句話說,也就是去檢查程式的結果和程式設計師的預期規劃是否相同。

Unit testing is a method by which individual units of source code are tested to determine if they are fit for use. A unit is the smallest testable part of an application. In procedural programming a unit may be an individual function or procedure. Unit tests are created by programmers or occasionally by white box testers.
Ref: http://en.wikipedia.org/wiki/Unit_testing

下載NUnit並且在Visual Studio專案中引入DLL


NUnit 下載連結:http://www.nunit.org/index.php?p=download

如果是要在Visual Studio裡面使用的話,建議可以下載bin的連結,這樣就不用自己重新compile了。
下載回來之後,如果想要在Visual Studio裡面撰寫測試程式,必須要引用nunit.framework這個dll,把他加到你的專案裡面:


實際撰寫NUnit測試程式碼


假設我們有一個計算機(Calculator)的程式,測試時是想要去檢查內部的方法是否正確。首先可以建立兩個Project,一個是放計算機的主程式(這裡的namespace是kevingo.Calculator),另外一個Project則是撰寫測試程式碼用(NUnitTestProject)。

首先建立一個計算機的程式:


public class Calculator
{
    int result = 0;
    public int Add(int a, int b)
    {
        result = a+b;
        return result;
    }

    public int Sub(int a, int b)
    {
        result = a-b;
        return result;
     }

    public int Multiple(int a, int b)
    {
        result = a*b;
        return result;
    }

  
    public int Divide(int a, int b)
    {
        result = a/b;
        return result;
    }
}


在另外一個Project寫測試程式碼,這裡我偷懶一下,只先撰寫兩個測試方法來檢查Add和Sub的功能:

namespace NUnitTestProject
{
    [TestFixture]
    public class Program
    {
        Calculator c1 = new Calculator();

        [Test]
        public void TestAdd()
        {
            int addResult = c1.Add(10, 10);
            Assert.AreEqual(20, addResult);
         }

        [Test]
        public void TestSub()
        {
            int subResult = c1.Sub(10, 2);
            Assert.AreEqual(8, subResult);
        }
}


在撰寫測試程式碼的時候,記得先把Calculator這個Project Build成DLL引入到測試的Project中:




 執行NUnit測試結果


接著我們實際執行測試的結果,nunit提供了GUI介面,讓使用者可以很方便的檢驗測試的結果,為了方便測試,在build測試程式碼的時候,可以設定啟動nunit的GUI:




在Compile的時候應該就會把NUnit的GUI給帶出來,接著選擇File中的Open Project,把build出來的DLL(這裡叫做NUnitTestProject.dll)給開啟執行就可以看到結果,如果你的測試程式是正確的,就會顯示綠色,如果有錯的話就是紅色的結果,像這裡代表TestAdd是正確而TestSub是有問題的,如此一來就可以針對錯誤來修正:


第一篇先紀錄到這裡,下一篇來看看NUnit裡面有什麼Attributes可以用。

Share this post!

Bookmark and Share

0 意見: