透過 Visual Studio 裡的整合開發環境 (IDE) 結合單元測試開發是再便利不過的了,在 Visual Studio 開發工具中已經內建一套 Visual Studio Unit Testing 框架 (Framework),可以方便協助你開發各式單元測試或整合測試的程式,工欲善其事、必先利其器,要善用他就必須先瞭解他,否則還是會事倍功半的,本篇文章會著重在 Visual Studio Unit Test 框架的概要介紹與快速上手的注意事項。
... 繼續閱讀 ...
前天的文章我介紹了 Mock 假物件 (Fake Object),今天要講另一種假物件稱為 Stub 假物件,這種假物件目的與用途都跟 Mock 非常相近,總之就是為了讓單元測試程式可以順利執行而生的一種開發方式,這兩種假物件類型在單元測試的領域都非常重要,而且各有各的存在必要性,在日後單元測試的日子裡都會經常用到這兩個東西。
... 繼續閱讀 ...
透過前三篇的系列文章,不知道初學者能不能上手開發單元測試,畢竟這對許多人來說是個新玩意,不只是單元測試是新的,可能許多人連 ASP.NET MVC 都沒玩過,那就更難跟上了,不過只要有心,人人都可以當大師 (靈感來自於周星馳經典台詞之食神)。若你開發的是 ASP.NET MVC Web 應用程式,到底單元測試要測試些什麼?可以測試些什麼?測試的範圍又是多少呢?
... 繼續閱讀 ...
我們在上一篇已經得知「可測試性」的思考方向,在本篇文章我們將利用 Mocking 技術強化之前修改過的測試程式,讓我們的單元測試程式可以完全脫離「外部資源」的魔掌 (在此範例是指資料庫連線),我們將使用 moq 工具函式庫協助我們的測試程式更容易、更快速的撰寫,至於 moq 的安裝可參考 moq 官網或 ASP.NET MVC 2 開發實戰 一書【12-3-7 利用Mock假物件完成單元測試】章節的說明 ( P.398 )。
... 繼續閱讀 ...
為什麼人家說 ASP.NET MVC 的可測試性很高?這是真的嗎?為什麼實際在寫 ASP.NET MVC 單元測試的時候卻綁手綁腳的,很多時候連怎麼開始寫測試程式都摸不著頭緒。由於 Web 環境下能開發的功能很多,程式碼的多樣性也很大,有時後複雜度也很高,寫出能動的程式已經不容易了,所以以往總是用隨心所欲的方式開發,不過現在不能這樣寫了,為了讓開發過程中都能不斷的撰寫單元測試,有時後你必須妥協,寫程式的時候要時時刻刻想到你寫的這行程式碼需要被測試,所以你要套用一些 設計樣式 (Design Pattern) 來撰寫程式,好讓你未來撰寫測試的日子更加好過。
... 繼續閱讀 ...
因為軟體測試越來越重要,而單元測試正是跨出軟體測試重要的第一步,不過軟體測試的學習之路卻異常艱辛,最主要的難處在於沒有人可以討論,不知道什麼是對?什麼是錯?判斷的依據在哪?哪個決定好?哪個決定壞?什麼才是最恰當的?千千萬萬個疑問不知道從何下手?所以我預計寫一系列與 ASP.NET MVC 單元測試的文章,一方面透過寫作的過程幫助自己釐清各種測試的觀念,另一方面也可以跟四面八方開發人員互動,期望能獲得最正確的觀念。
... 繼續閱讀 ...
過年期間在家聽了 The Art of Unit Testing with Roy Osherove 節目,感覺獲益良多,因此將節目的對話內容做了個簡單的整理,由於是 Scott Hanselman 與 Roy Osherove 的現場對話,內容感覺有點雜亂,我不確定可否將重點整理的夠清楚,但有些 Roy Osherove 分享的觀念是我覺得是很棒的,也解開我這段時間懵懵懂懂的 TDD 觀念,大家可以看完若覺得有問題可以留言討論看看。
... 繼續閱讀 ...