1、下載安裝NUnit(最新win版本為NUnit-2.6.0.12051.msi) http://www.nunit.org/index.php?p=download
2、下載並安裝VS的Visual Nunit 2010 插件 http://visualstudiogallery.msdn.microsoft.com/c8164c71-0836-4471-80ce-633383031099
注:可通過VS的“視圖”->“其他窗口”找到並打開該插件(快捷鍵:Ctrl+F7)
3、新建測試項目UnitTestApp(示例為簡單的控制台應用程序),引入nunit.framework類庫(默認安裝后文件所在路徑:C:\Program Files \NUnit 2.6\bin\framework\nunit.framewor.dll)

4、添加Calculator類,實現一個簡單加法和獲取單例方法
Calculatornamespace UnitTestApp
{
public class Calculator
{
public int Add(int a, int b)
{
return a + b;
}
private static readonly object objSync = new object();
private static Calculator instance = null;
public static Calculator GetInstance()
{
if (instance == null)
{
lock (objSync)
{
if (instance == null)
{
instance = new Calculator();
}
}
}
return instance;
}
}
}
5、新增NUnitTest類進行單元測試
UnitTestusing NUnit.Framework;
namespace UnitTestApp
{
[TestFixture]
public class NUnitTest
{
[Test]
public void AddTest()
{
var calc = new Calculator();
var result = calc.Add(1, 1);
Assert.AreEqual(2, result);
}
[Test]
public void AddTestFailure()
{
var calc = new Calculator();
var result = calc.Add(1, 1);
Assert.AreEqual(10, result);
}
[Test]
public void SingtonTest1()
{
var calc = Calculator.GetInstance();
Assert.IsNull(calc);
}
[Test]
public void SingtonTest2()
{
var calc1 = Calculator.GetInstance();
var calc2 = Calculator.GetInstance();
Assert.IsTrue(object.Equals(calc1, calc2));
}
}
}
編譯控制台項目,點擊Visual Nunit 插件的“Run”按鈕,然后一切清靜了。
注:在上面的代碼中引用 NUnit.Framework,使用TestFixture標注這是用於測試的類,在其中使用 Test表示具體的測試用例。可以看到單元測試中最重要的是斷言,其他完全交給框架自動化。測試結果可以通過插件及時看到:

demo下載:UnitTestApp
參考:http://www.cnblogs.com/leoo2sk/archive/2010/01/13/pragmatic-unit-testing-with-nunit.html
http://www.cnblogs.com/dudu/archive/2011/07/26/unit_testing_constructor_dependency_injection.html