無論是Eclipse、JBuilder,還是JCreater,都給使用者提供了Run或者Debug一個類的功能,前提是這個類中包含一個名為“Main”的靜態方法。這樣,在做Java編程時,可以很方便進行調試,如果再用上JUnit,相當方便。
恕我孤陋寡聞,目前在VS.Net里還沒有這樣方面的功能,如果是WinForm的項目還好,但如果是Class Library項目,其中的代碼就不好調試了?吹竭@里,您會說了,用NUnit啊。對,NUnit可以完全我的需求,但NUnit目前有幾處不爽的地方:
1:項目需求編譯,再由NUnit打開對應的dll文件,如果能在IDE集成就好了;
2:Debug不方便,要通過IDE附加上NUnit的進程;
3:目前正式的版本是2.2,不支持VS.Net 2005。
功能介紹及下載
廢話了半天,其實就是要介紹TestDriven.NET,這是一款優秀的單元測試工具,它的好處多多,比如:
1:Free;
2:Small size,集成了Nunit2.3、MbUnit,總共才3M;
3:免配置,支持目前所有VS.Net版本,當然也包括VS.Net 2005 beta,安裝完無須重新啟動計算機即可使用。
4:隨時可以Run/Debug一個類中的任意方法,這是本文的重點,以下會重點介紹。
獲得這款軟件,可以到官方網站下載,地址是“http://www.TestDriven.net”,需要簡單注冊一下個人信息,下載后解壓縮后安裝即可。
進行測試
啟動任何版本的VS.Net,建立一個Class Library項目,新建一個類。為便于介紹,可以寫如下的代碼:
int sum=0;
for (int i=0;i<=10;i )
{
sum = i;
}
Console.Write(sum);
在方法里點擊鼠標右鍵,會看到菜單里多了“Run Test(s)”和“Test With…”兩項內容,如圖:
先點一個“Run Test(s)”試試,會不會在IDE里看到輸出的結果。
在最后一行加個斷點,點“Test With…”-“Debugger”,是不是可以觀看每一個變量的值了?不要告訴我你不知道如何調試。
這樣,我們就可以隨時隨地運行一個方法,觀察運行狀態了,這一點,對于靜態方法非常管用;對于需求上下文的方法,一個辦法寫一些專門的方法進行調試,就象Java編程里經常寫的“Main()”一樣,或者在該方法的頭部把變量賦上值,調試完了再刪除。
與NUnit結合
TestDriven里集成了Nunit,可以很方便的與之結合使用。
在Solution Explore里,在該類上點擊鼠標右鍵,可以看到“Test With”-“NUnit”,如下圖:
如果這時直接Run,會看到如下的提示:
這是因為沒有在類中聲明“[TestFixture]”,需要把代碼修改兩處:
1:加“using NUnit.Framework;”;
2:在“public class Class1”前加一行“[TestFixture]”,如果對NUnit不熟悉,可以在Google里搜索一個它的用法;
3:在需要測試的類前加一行“[Test]”。
這時再Run一下Nunit,點一下“Run”按鈕,是不是能看到如下界面:
這里還有一個小秘笈,就是在第3步操作里,可以不加“[Test]”這個Attribute,只需要讓方法的名稱以“test”開頭就行,不論大小寫都可以,不信你試試看。
文章來源于領測軟件測試網 http://www.kjueaiud.com/