今天要談的是創建一個測試專案,就算你沒寫過測試,總得要創建一個測試專案當成一個開始嘛(被揍)
有人問我為何要使用MS Test (其實根本沒人問),原因是因為在這30天的練習中其實用MS Test就夠了,當然你們也可以使用Nunit、Xunit其他測試框架,這幾天的練習過程,跟框架比較沒有關係,所以我個人就直接使用內建的MS Test的測試框架來做練習。
首先我們先創建一個測試專案,這邊我創建的是.NET Core的測試專案,你也可以選擇.NET Framework的測試專案來進行我們的TDD練習過程。
這邊可以順帶一提的是 .NET Framework在 Visual Studio 2017 15.4.3的版本下,測試總管無法運行的問題,這個問題困擾我許久,後來有找到了一個Solution,就是把這個目錄給刪除
C:\Users\Ice\AppData\Local\Temp\VisualStudioTestExplorerExtensions
再重新執行Visual Studio就可以了,如果有興趣知道詳情或是有發生一樣的問題的朋友可以參考這一篇文章。
開啟專案完成後就可以看到這個畫面
接下來寫點Code,變成下面這個畫面
在這張圖特別要說的是Assert這個Class,他裏面包含了許多驗證的方法像是Is True、Is Null等,有興趣的朋友可以進去看一看他還有什麼其他的驗證方式。
還有很重要的一點是 Assert.AreEqual(expected,actual) 這個函數,切記不要寫反了,左邊是預期的值,右邊是執行結果,雖然他們打反了不影響我們執行測試的結果,但如果發生錯誤了,很容易令我們造成閱讀上的誤會。
在寫測試的過程中,總是需要不斷做驗證,跑測試,但我們每一次都要利用滑鼠來點測試未免也太累人了,所以請善用熱鍵,讓我們可以減去很多時間來找游標在哪裡、移動游標這些浪費精神的粗活(?)
不知道各位有沒有發現其實我的測試方法名稱也從TestMethod1 變成了 Input_1_Should_Be_3呢?
命名他的動作也十分重要,在我們執行測試時,他就會出現在我們的測試總管中,如果沒有命名好,假設他出錯了,你也不知道這一個測試案例是在測試什麼,所以我們需要把這個測試案例的名稱命名好,以下為執行測試後的測試總管狀態。
只要把測試案例命名好,就可以很清楚地在測試總管中看見我們的測試案例目前的狀況是如何。
今天測試專案就說到這裡,感謝耐心的閱讀,如果文章有誤麻煩通知我~
我們,明天見啦!