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

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

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

TestDriven.NET的前身是NUnitAddIn,由Jamie Cansdale大師開發(fā),一開始作者只是想做一個(gè)NUnit插件集成到Visual Studio中,經(jīng)過(guò)多次版本更新,NUnitAddIn在2004年9月底更名為TestDriven.NET,并在當(dāng)年的12月初發(fā)布了它的第一個(gè)Release版本,即TestDriven.NET 1.0。由于它在開發(fā)中的出色表現(xiàn),讓很多開發(fā)人員期待它的下一個(gè)版本的發(fā)布,這一等待卻足足等了兩年,在今年的10月底,終于迎來(lái)了姍姍來(lái)遲的TestDriven.NET 2.0版本。然而這一等待卻是值得的,在2.0中,給我們帶來(lái)了太多的驚喜,它集成了.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),所有的操作都是直接通過(guò)這些右鍵菜單來(lái)完成。我們先來(lái)編寫一小段簡(jiǎn)單的測(cè)試代碼:

    ClassA ca = new ClassA();

    int result = ca.GetResult();

    Assert.AreEqual(expected, result);

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

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

TestDriven.NET 2.0

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

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

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