這一章說明了測試框架能夠帶給使用者什麼實質上的功能與幫助,
也說明了該如何安裝NUnit,但主要是以文字敘述,
雖然很簡單,但我在多個專案中的環境設定就遇到一點小問題,在這邊紀錄一下。
安裝NUnit套件
一開始透過擴充套件管理器安裝好NuGet Package Manager之後,
順利藉由 工具 -> NuGet封裝管理員 -> 套件管理主控台 ,
給予指令 "Install-Package NUnit",
完成NUnit套件的安裝,
但我另外開啟新的測試專案時,
卻發現按照這步驟卻一直安裝到原先已安裝好的第一個專案去,
後來發現原來套件管理主控台是針對專案去做設定的,
必須更改預設專案為要安裝的專案,如下圖所示:
確定參考中是否有以下兩個參考:
"NUnit套件" => nunit.framework
"要被測試的專案" => LogAn專案
接著按照書上指示,在class前和function前都加上Attribute,
分別是 [TestFixture] 與 [Test] ,這樣測試框架才知道那些是要被執行的測試方法。
要記得加上 using NUnit.Framework 哦!
接著要加上測試內容,書中定義了一個單元測試通常包含了三個行為:
1.Arrange : 其實就是建立被測物,例如要被測的function的所屬物件。
2.Act : 呼叫這個被測的function。
3.Assert : 確認結果是否符合預期。
書中的例子如下:
書中簡單介紹了Assert類別,這邊就不再介紹,
終於要執行第一個NUnit測試了,於是按照書中描述,
如果是透過NuGet安裝的NUnit.Runners,
可以在方案跟目錄下的Package資料夾找到NUnit GUI.exe,
但我沒找到,於是回想一下,第二章一開始有說NUnit GUI是需要另外安裝的,
翻回去看看,作者說在本章稍後會介紹如何透過NuGet安裝NUnit.Runners,
所以再仔細看過一次,還是沒發現哪裡有描述如何安裝,
因此自己上網找一下該如何安裝,幸好打上關鍵字就找到指令了。
安裝NUnit.Runners
透過和安裝NUnit套件一樣的方法,把套件管理器主控台打開,並打上指令:
看看方案根目錄下的Package資料夾有沒有NUnit GUI.exe。
還是沒有!!
找了其他人的文章,可以透過Adapter讓visual studio直接顯示測試結果,
安裝安裝方式可以透過指令或NuGet/管理NuGet套件安裝。
指令:
管理NuGet套件:
在上方選單選擇 測試 -> 執行 -> 所有測試 ,就可以看到第一次的結果:
解決了找不到 NUnit GUI.exe的問題,但下一個問題又來了,
即使我按照書中指示修正了寫錯的Function,執行測試卻依然失敗呢...
仔細看一下失敗原因:原來測試方法必須是public,疏忽了。
終於成功啦。
上一篇:[閱讀] - 單元測試的藝術 - Chapter 1 單元測試基礎
下一篇:[閱讀] - 單元測試的藝術 - Chapter 2.2 第一次UnitTest重構
參考:書中範例Github連結
沒有留言:
張貼留言