您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源單元測(cè)試工具 > Nunit
NUnit之Attribue詳解
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/4/9 17:19:48 ] 推薦標(biāo)簽:

  [ValueSource]:以數(shù)據(jù)源(Object類(lèi)型)作為參數(shù),如下圖,左邊是源程序,右邊是編譯后生成的子測(cè)試

  [Combinatorial]:兩組測(cè)試數(shù)據(jù)進(jìn)行組合,下面的代碼會(huì)生成12個(gè)子測(cè)試,如圖

  [Sequential]:和上面[Combinatorial]的類(lèi)似,不同之處見(jiàn)下圖

  下面其它的Attribue也都大同小異,不愿意看文字說(shuō)明的話(huà),大家用NUnit運(yùn)行一下示例程序,再對(duì)比一下源程序知道了

  [Range]:生成某個(gè)數(shù)據(jù)范圍內(nèi)的子測(cè)試,如

  TestPrintColsole([Range(0.2, 0.6, 0.2)] double d):生成0.2,0.4,0.6三個(gè)子測(cè)試用例TestPrintColsole([Values(1, 2, 3, 4, 5, 6)] int x, [Range(0.2, 0.6, 0.2)] double d):兩個(gè)Attribuee結(jié)合,共生成18個(gè)子測(cè)試用例

  [Random]:在某個(gè)范圍內(nèi)隨機(jī)生成測(cè)試用例,

  TestPrintColsole([Random(-1.0, 1.0, 5)] double d):-1到1之間生成5個(gè)測(cè)試用例TestPrintColsole([Values(1, 2, 3, 4, 5, 6)] int x, [Random(-1.0, 1.0, 5)] double d) :共生成30個(gè)子測(cè)試用例

  三:平臺(tái)類(lèi)

  [Culture]:當(dāng)Culture滿(mǎn)足某條件下,才執(zhí)行測(cè)試,如:

  [Culture("fr-FR")]:僅當(dāng)在法文Culture時(shí),執(zhí)行測(cè)試[Culture(Exclude = "en,de")]:非英文和德文Culture時(shí),才執(zhí)行測(cè)試

  [Platform]:當(dāng)Platform滿(mǎn)足某條件下,才執(zhí)行測(cè)試,如:

  [Platform("NET-4.0")]:僅當(dāng)framework版本是4.0時(shí),才執(zhí)行測(cè)試

  下面是NUnit官網(wǎng)聲稱(chēng)的,其支持的平臺(tái)類(lèi)型:
Win  Win32  Win32S  Windows  Win32NT
WinCE  Win95  Win98  WinMe  NT3
NT4  NT5  NT6  Win2K  WinXP
Win2003Server  Vista  Win2008Server  Win2008ServerR2  Windows7
Unix  Linux  Net  Net-1.0  Net-1.1
Net-2.0  Net-3.0  Net-3.5  Net-4.0  NetCF
SSCLI  Rotor  Mono  Mono-1.0  Mono-2.0
Mono-3.0  Mono-3.5        

  四:其它類(lèi)

  [Category]:將測(cè)試方法分組,NUnit會(huì)取出所有的組名,列在Categories中,點(diǎn)擊它可以看到。這提供了另外一種測(cè)試用例的運(yùn)行方法,用戶(hù)可以在些選擇某一類(lèi)的用例進(jìn)行測(cè)試,而不是只能以點(diǎn)擊分單位

  [ExpectedException]:運(yùn)行時(shí)拋出的異常才能預(yù)期的行為。

  如果沒(méi)有這個(gè)Attribute,要測(cè)試某些異常時(shí),只能使用Try Catch的方式,而下面的代碼則更為簡(jiǎn)潔:

  [Test][ExpectedException(typeof(System.DivideByZeroException))]//發(fā)生DivideByZeroException時(shí),測(cè)試通過(guò)public void Test1(){ int a = 0; int b = 1 / a; PrintConsole

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