您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > Nunit
利用Nunit進(jìn)行單元測試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2014/1/9 14:14:11 ] 推薦標(biāo)簽:Nunit 單元測試

  在做事務(wù)的過程中,接觸了單元測試,利用Nunit對自己寫的方法進(jìn)行單元測試,可以提高自己提交的代碼的質(zhì)量。在這次實(shí)踐的過程中讓我感受到了單元測試的重要性,由于接觸單元測試的時(shí)間還很短,了解的東西還是很膚淺,先進(jìn)行總結(jié),以后繼續(xù)加深理解并應(yīng)用。

  1. 首先,在編寫測試類之前,必須為項(xiàng)目添加指向nunit.framework.dll的引用,否則無法找到命名空間。步驟為:在資源瀏覽器中右擊引用,然后選擇添加引用NUnit.framework組件,在添加引用對話框中按選擇和確認(rèn)按鈕。接著創(chuàng)建一個(gè)測試類,并在測試類中寫測試函數(shù)。測試類前面加上 [TestFixture],測試函數(shù)前面加上[Test],只有用這兩個(gè)記號標(biāo)記的類和方法才能顯示在NUnit的任務(wù)列表中。NUnit提供了一組豐富的斷言,這些斷言作為Assert類的靜態(tài)方法,也可以調(diào)用自己要測試的函數(shù),如:

  Assert.AreEqual(”寶貝id不能為空”, auctionMan.modifyTimeByAuctionId(null, DateTime.Parse(”2009-2-11 10:37:05″)));

  Assert.AreEqual(”寶貝id不能為空”, auctionMan.modifyTimeByAuctionId(”", DateTime.Parse(”2009-2-11 10:37:05″)));

  Assert.AreEqual(”寶貝id不是位”, auctionMan.modifyTimeByAuctionId(”d56d46d654d6″, DateTime.Parse(”2009-2-11 10:37:05″)));

  auctionMan.modifyTimeByAuctionId(”f6f469edf3663eba41ca9bb60a9476″, DateTime.Parse(”2009-2-11 10:37:05″));

  auctionMan.modifyTimeByAuctionId(”88ee0cbc1db1390c0f35e1a549a76862″,”");

  auctionMan.modifyTimeByAuctionId(”88ee0cbc1db1390c0f35e1a549a76862″, “2009-1-10 16:37:05″);

  2.其次啟動外部調(diào)試工具為Nunit,然后啟動調(diào)試,點(diǎn)擊運(yùn)行后,如圖所示:

  3.單元測試出問題后,要進(jìn)行調(diào)試,排除bug。我們在測試函數(shù)中調(diào)用待測試的函數(shù),有些是測試正常流的,有些是測試異常流的,正常流的測試應(yīng)該是運(yùn)行通過的,異常流的測試是拋異常的。但是如果正常流拋出異常,應(yīng)該進(jìn)行定位,找出是代碼哪里出錯(cuò),這時(shí)可以設(shè)置斷點(diǎn)進(jìn)行跟蹤,當(dāng)運(yùn)行到斷點(diǎn)后,進(jìn)行逐條代碼的運(yùn)行,可以找出運(yùn)行到哪一行代碼,Nunit會報(bào)錯(cuò),同時(shí)可以把鼠標(biāo)放在變量上方,查看程序運(yùn)行時(shí),變量內(nèi)存的值,從而跟蹤程序運(yùn)行是否正確,如圖:

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