對我來說寫測試有一個很大的目的就是「保護既有已完善的程式碼」,我開發的 jQuery 擴充套件 - jquery-model 已經被我們團隊成員接受並廣泛使用,為了保護自己也保護他人,是時候為它投入一些時間架設防護網,而 JavaScript 的單元測試框架有好幾款,我選擇了 Jasmine,為啥呢? 因為它在官網的 GETTING STARTED 頁面就告訴我如何用 STANDALONE 的發行版本來引用 Jasmine,僅此而已。
2020-02-10
對我來說寫測試有一個很大的目的就是「保護既有已完善的程式碼」,我開發的 jQuery 擴充套件 - jquery-model 已經被我們團隊成員接受並廣泛使用,為了保護自己也保護他人,是時候為它投入一些時間架設防護網,而 JavaScript 的單元測試框架有好幾款,我選擇了 Jasmine,為啥呢? 因為它在官網的 GETTING STARTED 頁面就告訴我如何用 STANDALONE 的發行版本來引用 Jasmine,僅此而已。
我在之前的專案有使用過 ASP.NET Identity 來幫我做驗證的工作,ASP.NET Identity 的出現為驗證身份的方式帶來了更大的彈性,不過如何使用不是這道菜的重點,這道料理要展現的是,當我們為 Controller Action 做有身份識別的單元測試時,我們要如何偽造不同的身份來滿足測試情境?
軟體廚房開始推出小菜一碟系列,這系列的篇幅不長,但是裡面都會有一言以蔽之的重點,像這篇就是在講我們自訂了一個 ModelBinder,它要怎麼做單元測試?
我們拿[料理佳餚] ASP.NET MVC 自訂 ModelBinder 將宣告為抽象型別的參數反序列化這篇的例子來看一下。
今天接近中午時分,饑腸轆轆的同時,打算通過最後一個 TestMethod 就來吃飯,誰能想到…