引言
在實際的項目中,我們會遇到如下的問題:
1. 在編寫一些不太好調(diào)試的程序時,如WebService 和一些后臺運行的程序時,如何調(diào)試?
2. 在某些架構(gòu)中存在一些底層框架,這些框架如何來調(diào)試?
3. 當我們編寫一個方法或者一些存在互相引用的方法,如何從上到下進行一次調(diào)試?
4. 當編寫出來一個方法后,難道現(xiàn)在你還在使用如下步驟調(diào)試?編譯、F9斷點、運行、調(diào)試?難道你不覺得好費時間啊。。。?或者你覺得為了一個方法不值,將一堆方法一起來調(diào)試/測試,這樣難道不會遺漏一些方法也是會遺漏一些BUG?
5. 如果我們要使用單元測試工具來測試一些底層的東西,通常正常的流程是編寫一個單元測試模塊[Test],然后利用單元測試工具執(zhí)行來測試。但是這也是單元測試的一個弊端,太費時間。
……
基礎(chǔ)
第一:既然我們這篇文章使用的單元測試工具是TestDriven.NET,那么總的先下載一個安裝吧,下載地址:http://www.testdriven.net/download.aspx。
第二:這里我不跟大家將單元測試理論,也不講如何使用單元測試工具TestDriven.NET進行單元測試。
這篇文章的核心是調(diào)試,好了,廢話不多說,開始吧。
安裝完TestDriven.NET后,在NET工程中,代碼.cs 文件中彈出的右鍵菜單,將會多出三個選項,例如下圖:
這里也順便說一下新增的三個選項:
Run Test(s):點擊后,在下方的信息欄中將會顯示測試結(jié)果:
Test With:點擊后將會顯示子菜單:Debugger 使用NET的調(diào)試器調(diào)試;.NET 1.1將此方法運行在NET1.1框架下;Coverage 將會啟動TestDriven.NET 自帶的NCoverExplorer 進行代碼覆蓋分析;In_Proc 不太清楚有什么用。
Repeat Test Run:重復(fù)測試。
當?shù)谝淮芜\行TestDriven.NET 后,在系統(tǒng)托盤欄中將會出現(xiàn)如下圖標:
當右鍵點擊此圖標,可以進行TestDriven.NET 工具進程的操作:
我們來開始使用TestDriven.NET 來調(diào)試我們的第一個方法吧:
在我們要測試的方法F9增加斷點,右鍵,選擇Test With->Debugger,然后可以看到調(diào)試到斷點處了:
然后F10/F11單步調(diào)試吧,在下方監(jiān)視窗口中可以正常進行監(jiān)視的:
也是說,當使用TestDriven.NET 的Debugger 功能調(diào)試時,可以進行一個方法的調(diào)試,是不會運行其它方法的。
很省時間吧。
上面介紹了TestDriven.NET的Debugger 功能的基本使用方法,那么再來一些調(diào)味料吧。