Visual Studio 2012使用NUnit單元測試實踐
1 在Visual Studio中建立一個解決方案Solution1。檔案->新建專案->其它專案型別->Visual Studio解決方案->空白解決方案。
2在解決方案Solution1下新增一個類庫LogAn。建立空白解決方案後,在vs2012右邊的解決方案資源管理器中,可以看到剛建立的解決方案,單擊選中它,然後右鍵選擇“新增”->新建專案->Visual
C# ->類庫。
3在類庫LogAn下建立類LogAnalyzer,編寫如下:
4在解決方案Solution1下新增一個"單元測試專案"MyFirstTestProject。“新增”->新建專案->Visual C# ->測試->單元測試專案。
5接下來需要安裝"NUnit Test Adapter", "NUnit Test Adapter"是介於NUnit和Visual Studio之間的一個介面卡。依次點選"工具"、"擴充套件和更新",從中搜索並安裝"NUnit Test Adapter"。
安裝完畢,需要重啟Visual Studio 2012。
6在單元測試專案下,通過NuGet安裝NUnit。
7在單元測試專案下引用"LogAn"的類庫。
8編寫一個測試類和測試方法,單元測試的命名規則有一定的約定,比如說:類名_目的_期望的結果,遵循這個命名規則:
Order_NumberOfOrders_GreaterThanZero_Success
以下是測試類和測試方法:
生成單元測試專案。
點選Visual Studio 2012左上角的"測試資源管理器",點選"執行"。
顯示未通過測試。
修改類庫中的程式碼如下:
if (!fileName.ToLower().EndsWith(".slf"))
並重新生成類庫。
再次執行單元測試專案,顯示通過。
在單元測試中,如果一個測試中遺留了一些資料、狀態或物件例項,可能會導致其它測試的失敗。而定位測試之間的依賴性也是很困難的。解決辦法是讓所有測試之間沒有任何依賴關係。NUnit為此提供了[Setup]和[TearDown]這兩個特性,旨在某個測試方法執行之前做一些初始化工作,執行之後做一些清理工作。於是,現在測試程式碼可以修改成如下: