單元測(cè)試工具使用_第1頁
單元測(cè)試工具使用_第2頁
單元測(cè)試工具使用_第3頁
單元測(cè)試工具使用_第4頁
單元測(cè)試工具使用_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、目錄:1、建立單元測(cè)試項(xiàng)目21.1、從被測(cè)試代碼生成單元測(cè)試21.2、添加單元測(cè)試項(xiàng)目72、編寫測(cè)試方法73、數(shù)據(jù)驅(qū)動(dòng)的單元測(cè)試83.1、ACCESS數(shù)據(jù)驅(qū)動(dòng)單元測(cè)試83.2、讀取Excel的方法:114、單元測(cè)試的運(yùn)行145、附加測(cè)試屬性15VS2010中的單元測(cè)試在VS2010中,單元測(cè)試的功能很強(qiáng)大,使得建立單元測(cè)試和編寫單元測(cè)試代碼,以及管理和運(yùn)行單元測(cè)試都變得簡(jiǎn)單起來,通過私有訪問器可以對(duì)私有方法也能進(jìn)行單元測(cè)試,并且支持?jǐn)?shù)據(jù)驅(qū)動(dòng)的單元測(cè)試。1、建立單元測(cè)試項(xiàng)目1.1、從被測(cè)試代碼生成單元測(cè)試1)實(shí)例:創(chuàng)建VC#模式下的控制臺(tái)應(yīng)用程序,工程名為CUnitTest2)輸入簡(jiǎn)單的加、減、

2、乘、除函數(shù)代碼,如下圖所示3)可按如下步驟建立單元測(cè)試(1)在Add方法體內(nèi),單擊鼠標(biāo)右鍵,在菜單中選擇“創(chuàng)建單元測(cè)試”,(2)在出現(xiàn)的“創(chuàng)建單元測(cè)試”界面中,Add方法被自動(dòng)勾上,表示要為這個(gè)方法創(chuàng)建單元測(cè)試代碼的基本框架,單擊確定按鈕(3)點(diǎn)擊確定后,在新建測(cè)試項(xiàng)目中,輸入需要?jiǎng)?chuàng)建的單元測(cè)試的新項(xiàng)目的名稱,然后單擊“創(chuàng)建”按鈕,則自動(dòng)創(chuàng)建一個(gè)新的單元測(cè)試代碼項(xiàng)目。(4)在“解決檔案資源管理器”中可以看到多了一個(gè)“AddTest”項(xiàng)目,可以看出“AddTest”項(xiàng)目引用了被測(cè)項(xiàng)目的程序集,和單元測(cè)試框架M,并且自動(dòng)產(chǎn)生兩個(gè)C#代碼文件AssemblyInfo.cs和ProgramTest.c

3、s(5)ProgramTest.cs的代碼如下圖所示,從圖中可以看到,自動(dòng)產(chǎn)生了一個(gè)“ProgramTest”類,并使用TestClass()標(biāo)識(shí)為一個(gè)單元測(cè)試類,以及一個(gè)“AddTest”測(cè)試方法,。并用TestMethod()標(biāo)識(shí)。(6)ProgramTest.cs代碼文件詳講TestMethod():說明了以下代碼是一個(gè)測(cè)試用例Int a = o; / TODO: 初始化為適當(dāng)?shù)闹礽nt b = 0; / TODO: 初始化為適當(dāng)?shù)闹颠@兩句是被測(cè)函數(shù)的輸入?yún)?shù),需要我們?nèi)バ薷乃闹?也就是我們輸入測(cè)試用例的地方。double expected = 0; / TODO: 初始化為適當(dāng)?shù)闹礵

4、ouble actual;      這兩句話淺顯易懂,前一句話是定義了期望值和對(duì)它進(jìn)行初始化,后一句話是定義了實(shí)際值。默認(rèn)Assert.AreEqual(expected, actual);Assert在這里可以理解成斷言:在VSTS里做單元測(cè)試是基于斷言的測(cè)試。默認(rèn)代碼中Assert.Inconclusive 表明這是一個(gè)未經(jīng)驗(yàn)證的單元測(cè)試。在實(shí)際的程序中可以注釋掉。1.2、添加單元測(cè)試項(xiàng)目(1)另外一種單元測(cè)試方法是獨(dú)立添加單元測(cè)試項(xiàng)目,在解決方案中添加一個(gè)新的項(xiàng)目,選擇項(xiàng)目類型為“測(cè)試項(xiàng)目”,(2)單擊確定后,自動(dòng)產(chǎn)生一個(gè)新的

5、單元測(cè)試項(xiàng)目,在“解決方案資源管理器”中可看到新添加的測(cè)試項(xiàng)目“TestProject2”。對(duì)比“TestProject2”和“AddTest”可發(fā)現(xiàn),“TestProject2”少了對(duì)被測(cè)試項(xiàng)目程序集的引用,僅僅引用了單元測(cè)試框架的DLL“M”2、編寫測(cè)試方法單元測(cè)試的基本方法是調(diào)用被測(cè)代碼的函數(shù),輸入函數(shù)的參數(shù)值,獲取返回結(jié)果,然后與預(yù)期測(cè)試結(jié)果進(jìn)行比較,如果相等則認(rèn)為測(cè)試通過,否則認(rèn)為測(cè)試不通過。1、Assert類的使用Assert.Inconclusive()   表示一個(gè)未驗(yàn)證的測(cè)試;Assert.AreEqual()   

6、      測(cè)試指定的值是否相等,如果相等,則測(cè)試通過;AreSame()用于驗(yàn)證指定的兩個(gè)對(duì)象變量是指向相同的對(duì)象,否則認(rèn)為是錯(cuò)誤AreNotSame()用于驗(yàn)證指定的兩個(gè)對(duì)象變量是指向不同的對(duì)象,否則認(rèn)為是錯(cuò)誤Assert.IsTrue()             測(cè)試指定的條件是否為True,如果為True,則測(cè)試通過;Assert.IsFalse()    &

7、#160;        測(cè)試指定的條件是否為False,如果為False,則測(cè)試通過;Assert.IsNull()               測(cè)試指定的對(duì)象是否為空引用,如果為空,則測(cè)試通過;Assert.IsNotNull()         測(cè)試指定的對(duì)象是否為非空,如果不為空,則測(cè)試通過

8、;2、CollectionAssert類的使用用于驗(yàn)證對(duì)象集合是否滿足條件StringAssert類的使用用于比較字符串。StringAssert.ContainsStringAssert.MatchesStringAssert.tartWith3、數(shù)據(jù)驅(qū)動(dòng)的單元測(cè)試數(shù)據(jù)驅(qū)動(dòng)的單元測(cè)試是指單元測(cè)試的輸入數(shù)據(jù)遍歷一個(gè)數(shù)據(jù)源的所有行。從數(shù)據(jù)源的沒一行讀入數(shù)據(jù)并傳入給測(cè)試方法使用3.1、ACCESS數(shù)據(jù)驅(qū)動(dòng)單元測(cè)試1)打開測(cè)試視圖窗口,選擇測(cè)試視圖2)在測(cè)試視圖窗口中選擇需要配置成數(shù)據(jù)驅(qū)動(dòng)方式的單元測(cè)試方法,然后按F4,打開單元測(cè)試的屬性窗口3)編輯“數(shù)據(jù)連接字符串”屬性,在“屬性”窗口中單擊該屬性

9、,然后單擊省略號(hào) ()。這將打開“選擇數(shù)據(jù)源”對(duì)話框,其中列出了若干個(gè)可能的數(shù)據(jù)源,包括 ODBC、Microsoft SQL Server 和 Microsoft Access。選擇一個(gè)數(shù)據(jù)源后將打開一個(gè)特定于該數(shù)據(jù)源類型的對(duì)話框;可以使用此對(duì)話框配置該數(shù)據(jù)源的連接屬性。配置完數(shù)據(jù)連接后,連接字符串會(huì)作為“數(shù)據(jù)連接字符串”的值出現(xiàn)。此字符串還會(huì)作為單元測(cè)試方法的一個(gè)屬性存儲(chǔ)起來4)在這個(gè)界面中,選擇一個(gè)Acess表data.mdb,單擊“確定”按鈕完成設(shè)置,回到“單元測(cè)試屬性”窗口。可以看到數(shù)據(jù)源的已經(jīng)設(shè)置好。5)在建立與數(shù)據(jù)源的連接之后,可以選擇一個(gè)數(shù)據(jù)表。當(dāng)您單擊“屬性”窗口的值列中的下

10、拉列表時(shí),將會(huì)列出所連接的數(shù)據(jù)庫中的表。從此列表中選擇的表就是在運(yùn)行單元測(cè)試時(shí)將檢索其中的行的表。與“數(shù)據(jù)連接字符串”等其他屬性一樣,“數(shù)據(jù)表名稱”也會(huì)作為單元測(cè)試方法的一個(gè)屬性存儲(chǔ)起來。6)在“數(shù)據(jù)訪問方法”,請(qǐng)選擇“順序”或“隨機(jī)”;默認(rèn)值為“順序”。此設(shè)置表示從數(shù)據(jù)源的表中檢索記錄的順序??梢钥吹?,在測(cè)試方法前面已經(jīng)添加了一行:7)數(shù)據(jù)源的使用通過 TestContext 類的 DataRow 和 DataConnection 屬性將數(shù)據(jù)提供給正在運(yùn)行的單元測(cè)試。下面為使用TestContext 類的 DataRow屬性來讀入數(shù)據(jù)行8)Acess數(shù)據(jù)源中的表為3.2、讀取Excel的方法

11、:1)在桌面新建一個(gè)txt文件,更改文件名為data.dsn2)選中“數(shù)據(jù)庫連接字符串”,單擊右邊列的按鈕,更改數(shù)據(jù)源為Microsoft ODBC數(shù)據(jù)源,點(diǎn)擊“確定”按鈕3)選擇使用連接字符串,點(diǎn)擊生成4)選擇Excel數(shù)據(jù)源的驅(qū)動(dòng)程序,點(diǎn)擊“下一步”5)選擇data.dsn為數(shù)據(jù)源保存文件,一直選擇“下一步”。6)在彈出的選擇工作簿中,選擇用例的輸入文件data.txt,點(diǎn)擊“確定”7)選擇用例所在的Sheet頁,選擇“完成”8)數(shù)據(jù)源的使用代碼4、單元測(cè)試的運(yùn)行單元測(cè)試的運(yùn)行有兩種方式:調(diào)試和運(yùn)行??梢韵裾{(diào)試普通代碼一樣對(duì)單元測(cè)試代碼進(jìn)行調(diào)試,當(dāng)然也可以直接運(yùn)行,單元測(cè)試的結(jié)果將在“測(cè)試結(jié)果”界面中展示,雙擊測(cè)試結(jié)果,可以得到測(cè)試結(jié)果的詳細(xì)信息。單元測(cè)試的代碼覆蓋率可以在“代碼覆蓋率結(jié)果”界面中展示。5、附加測(cè)試屬性“附加測(cè)試屬性”。默認(rèn)都是被注釋掉的,只要我們?nèi)∠⑨尵涂梢允褂昧?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論