單元測試學習筆記03_Mock Framework介紹(Moq)_MVC專案的UnitTest介紹
在上一篇中介紹到有分所謂 Stub跟Mock的做法 那在一般實作中較常用到的是模擬物件 Mock,因為很常我們處裡道的是 沒有回傳值的情況,因此比較著重在互動方式的驗證。 這類模擬物件的技法可以幫助我們在開發階段中不會 因為正式環境還沒準備好就無法驗證程式的窘境 但若要每次都自己寫Mock其實也滿費時的 因此就有推出許多Mock框架 在此先介紹 Moq 也可輕鬆定義模擬物件包含visual studio intellisense整合使減輕測試的麻煩 此外Moq強型別的特性也能降低測試程式撰寫發生錯誤機率 採用授權為 The 3-Clause BSD License 新建一個MVC包含UnitTest的專案 在此順帶觀察MVC專案的UnitTest寫作方式 預設產生的示例 我們這裡已經事先準備寫好的一個BeginController 類別 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 using System ; using System.Collections.Generic ; using System.Linq ; using System.Web ; using System.Web.Mvc ; namespace MVC_UniTestApp.Controllers { public class BeginController : Controller { // GET: Begin public ActionResult Show () { ViewBag.Message = "早安你好" ; return View (); } } } 而我們在測試專案中的Controller目錄可再增加測試類與相關測試method BeginControllerTest 類別 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 using Microsoft.VisualStudio.TestTools.UnitTesting ; using System ; ...