在說NUnit之前,不得不說 一下TDD.
1.TDD介紹
首先什么是TDD呢?全稱應該是Test-Driven Development。Kent Beck在他的<<測試驅(qū)動開發(fā) >>(Addison-Wesley Professional,2003)一書中,使用下面2個原則來定義TDD:
· 除非你有一個失敗的自動測試,永遠不要寫一單行代碼.
· 阻止重復
2.NUnit的介紹
NUnit是一個單元測試框架,專門針對于.NET來寫的.其實在前面有JUnit(Java),CPPUnit(C++),他們都是xUnit的一員.最初,它是從JUnit而來.現(xiàn)在的版本是2.2.接下來我所用的都是基于這個版本.
NUnit最初是由James W. Newkirk, Alexei A. Vorontsov 和Philip A. Craig, 后來開發(fā)團隊逐漸龐大起來.在開發(fā)過程中, Kent Beck 和Erich Gamma2位牛人也提供了許多幫助.看來對于NUnit還真是下了一番力氣了.J
NUnit是xUnit家族種的第4個主打產(chǎn)品,完全由C#語言來編寫,并且編寫時充分利用了許多.NET的特性,比如反射,客戶屬性等等.
最重要的一點是它適合于所有.NET語言.
如果你還沒有下載,可以到http://www.nunit.org/去下載.
下面我們先做一個最簡單的例子。
打開.net的開發(fā)環(huán)境,新建一個c#工程。
Project->Add Reference 中添加nunit.framework.dll。
添加一個類,內(nèi)容如下:
using System;
using NUnit.Framework;
namespace PoiUnit
{
/// <summary>
/// Summary description for Util.
/// </summary>
[TestFixture]
public class Util
{
public Util()
{
//
// TODO: Add constructor logic here
//
}
[SetUp]
public void Setup()
{
// Do something...
}
[Test]
public void TestOne()
{
int i = 3;
Assert.AreEqual( 3, i );
}
[TearDown]
public void TearDown()
{
// Do something...
}
}
}
編譯。
打開Nunit,Open編譯好的exe文件。

點擊RUN。可以看到綠色的顯示。表示測試通過,如果沒有通過,將是紅色。
在本例中,
TestOne是一個簡單的測試方法,測試i 是否等于3,結果是肯定的。所以運行完為綠色,表示測試通過。如果將i的值改成4,那么Nunit運行的結果應該為紅色