您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > TestNG
TestDriven.NET 2.0??單元測試的好助手
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/3/28 11:31:43 ] 推薦標(biāo)簽:

在軟件開發(fā)領(lǐng)域,測試驅(qū)動(dòng)開發(fā)(Test Driven Development,TDD)技術(shù)在逐漸為廣大開發(fā)者所接受,它是在添加新代碼之前讓你的測試代碼出錯(cuò)的一種開發(fā)技術(shù)。在開始編寫代碼之前首先要寫你的測試代碼,然后再編寫代碼讓你的測試通過,可以想象,如果沒有一個(gè)好的單元測試工具,這項(xiàng)工作其實(shí)是無法完成的。相信很多.NET開發(fā)人員者對于開源的NUnit都不陌生,但是它并不能很好的與Visual Studio.NET IDE集成起來。

這里我將向大家介紹另一款的單元測試工具——TestDriven.NET 2.0。它是以插件的形式集成在Visual Studio.NET IDE中的單元測試工具,能夠兼容各種Visual Studio版本,并且集成了多種單元測試框架諸如NUnit,MbUnit,以及Visual Studio Team System適配器等。

TestDriven.NET的前身是NUnitAddIn,由Jamie Cansdale大師開發(fā),一開始作者只是想做一個(gè)NUnit插件集成到Visual Studio中,經(jīng)過多次版本更新,NUnitAddIn在2004年9月底更名為TestDriven.NET,并在當(dāng)年的12月初發(fā)布了它的第一個(gè)Release版本,即TestDriven.NET 1.0。由于它在開發(fā)中的出色表現(xiàn),讓很多開發(fā)人員期待它的下一個(gè)版本的發(fā)布,這一等待卻足足等了兩年,在今年的10月底,終于迎來了姍姍來遲的TestDriven.NET 2.0版本。然而這一等待卻是值得的,在2.0中,給我們帶來了太多的驚喜,它集成了.NET Reflector、NConver、NConverExplorer、TypeMock.NET等,功能更加強(qiáng)大,下面我將一一介紹TestDriven.NET 2.0中涌現(xiàn)出的這些亮點(diǎn)。

安裝完TestDriven.NET 2.0 后,重新啟動(dòng)Visual Studio 2005,可以發(fā)現(xiàn)在Visual Studio.NET IDE的右鍵菜單中會(huì)多出一些新項(xiàng),所有的操作都是直接通過這些右鍵菜單來完成。我們先來編寫一小段簡單的測試代碼:

    ClassA ca = new ClassA();

    int result = ca.GetResult();

    Assert.AreEqual(expected, result);

在以前如果您使用NUnit進(jìn)行單元測試,對于這樣一個(gè)簡單的測試,首先需要運(yùn)行NUnit GUI,加載當(dāng)前的程序集,并點(diǎn)擊Run按鈕運(yùn)行測試,測試通過后再回到IDE繼續(xù)編寫代碼:

現(xiàn)在有了TestDriven.NET 2.0,不會(huì)有這么麻煩了,我們不用額外運(yùn)行任何程序,只需要在Visual Studio 2005 IDE中右擊并選擇Run Test菜單命令可以運(yùn)行測試,日常開發(fā)中我們都已經(jīng)習(xí)慣了在IDE中進(jìn)行這種操作,所以這樣更加符合我們的開發(fā)習(xí)慣,也不用頻繁在應(yīng)用程序之間切換窗口。

TestDriven.NET 2.0

稍微寫過一點(diǎn)單元測試代碼的朋友都知道,實(shí)際開發(fā)中的每一個(gè)測試,測試方法都不可能只有一個(gè)斷言(Assert),在以前使用NUnit時(shí),測試如果通不過,我們無法根據(jù)錯(cuò)誤信息快速準(zhǔn)確的定位到代碼中的某一個(gè)斷言,有了TestDriven.NET 2.0,當(dāng)測試出現(xiàn)錯(cuò)誤時(shí),您只需要在Output窗口中雙擊錯(cuò)誤提示,可以直接定位到出錯(cuò)的斷言代碼行,極大的提高了排錯(cuò)的效率。

在上面的測試代碼中,我們僅僅是點(diǎn)擊了右鍵菜單Run Test,并沒有選擇運(yùn)行哪一個(gè)測試方法或者測試類,那么TestDriven.NET 2.0是如何選擇并運(yùn)行測試的呢?其實(shí)這跟我們點(diǎn)擊鼠標(biāo)的位置有關(guān),點(diǎn)擊鼠標(biāo)的位置如果在標(biāo)記為Test的測試方法內(nèi),它只會(huì)執(zhí)行該測試方法;點(diǎn)擊鼠標(biāo)的位置如果在方法之外而在標(biāo)記為TestFixture的類里面,它會(huì)執(zhí)行該類中所有標(biāo)記為Test的測試方法;點(diǎn)擊鼠標(biāo)的位置如果在類之外,而在某一個(gè)命名空間里面,則它會(huì)執(zhí)行該命名空間下所有標(biāo)記為TestFixture的測試類。

上一頁123下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd