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