




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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、編寫(xiě)測(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è)試和編寫(xiě)單元測(cè)試代碼,以及管理和運(yùn)行單元測(cè)試都變得簡(jiǎn)單起來(lái),通過(guò)私有訪問(wè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():說(shuō)明了以下代碼是一個(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、編寫(xiě)測(cè)試方法單元測(cè)試的基本方法是調(diào)用被測(cè)代碼的函數(shù),輸入函數(shù)的參數(shù)值,獲取返回結(jié)果,然后與預(yù)期測(cè)試結(jié)果進(jìn)行比較,如果相等則認(rèn)為測(cè)試通過(guò),否則認(rèn)為測(cè)試不通過(guò)。1、Assert類的使用Assert.Inconclusive() 表示一個(gè)未驗(yàn)證的測(cè)試;Assert.AreEqual()
6、 測(cè)試指定的值是否相等,如果相等,則測(cè)試通過(guò);AreSame()用于驗(yàn)證指定的兩個(gè)對(duì)象變量是指向相同的對(duì)象,否則認(rèn)為是錯(cuò)誤AreNotSame()用于驗(yàn)證指定的兩個(gè)對(duì)象變量是指向不同的對(duì)象,否則認(rèn)為是錯(cuò)誤Assert.IsTrue() 測(cè)試指定的條件是否為True,如果為True,則測(cè)試通過(guò);Assert.IsFalse() &
7、#160; 測(cè)試指定的條件是否為False,如果為False,則測(cè)試通過(guò);Assert.IsNull() 測(cè)試指定的對(duì)象是否為空引用,如果為空,則測(cè)試通過(guò);Assert.IsNotNull() 測(cè)試指定的對(duì)象是否為非空,如果不為空,則測(cè)試通過(guò)
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ù)源的沒(méi)一行讀入數(shù)據(jù)并傳入給測(cè)試方法使用3.1、ACCESS數(shù)據(jù)驅(qū)動(dòng)單元測(cè)試1)打開(kāi)測(cè)試視圖窗口,選擇測(cè)試視圖2)在測(cè)試視圖窗口中選擇需要配置成數(shù)據(jù)驅(qū)動(dòng)方式的單元測(cè)試方法,然后按F4,打開(kāi)單元測(cè)試的屬性窗口3)編輯“數(shù)據(jù)連接字符串”屬性,在“屬性”窗口中單擊該屬性
9、,然后單擊省略號(hào) ()。這將打開(kāi)“選擇數(shù)據(jù)源”對(duì)話框,其中列出了若干個(gè)可能的數(shù)據(jù)源,包括 ODBC、Microsoft SQL Server 和 Microsoft Access。選擇一個(gè)數(shù)據(jù)源后將打開(kāi)一個(gè)特定于該數(shù)據(jù)源類型的對(duì)話框;可以使用此對(duì)話框配置該數(shù)據(jù)源的連接屬性。配置完數(shù)據(jù)連接后,連接字符串會(huì)作為“數(shù)據(jù)連接字符串”的值出現(xiàn)。此字符串還會(huì)作為單元測(cè)試方法的一個(gè)屬性存儲(chǔ)起來(lái)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ù)庫(kù)中的表。從此列表中選擇的表就是在運(yùn)行單元測(cè)試時(shí)將檢索其中的行的表。與“數(shù)據(jù)連接字符串”等其他屬性一樣,“數(shù)據(jù)表名稱”也會(huì)作為單元測(cè)試方法的一個(gè)屬性存儲(chǔ)起來(lái)。6)在“數(shù)據(jù)訪問(wèn)方法”,請(qǐng)選擇“順序”或“隨機(jī)”;默認(rèn)值為“順序”。此設(shè)置表示從數(shù)據(jù)源的表中檢索記錄的順序??梢钥吹剑跍y(cè)試方法前面已經(jīng)添加了一行:7)數(shù)據(jù)源的使用通過(guò) TestContext 類的 DataRow 和 DataConnection 屬性將數(shù)據(jù)提供給正在運(yùn)行的單元測(cè)試。下面為使用TestContext 類的 DataRow屬性來(lái)讀入數(shù)據(jù)行8)Acess數(shù)據(jù)源中的表為3.2、讀取Excel的方法
11、:1)在桌面新建一個(gè)txt文件,更改文件名為data.dsn2)選中“數(shù)據(jù)庫(kù)連接字符串”,單擊右邊列的按鈕,更改數(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頁(yè),選擇“完成”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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)三年級(jí)下冊(cè)(三下)蘇教版數(shù)學(xué)期中測(cè)試卷.2
- 2025年小升初數(shù)學(xué)專項(xiàng)訓(xùn)練-集合(含答案)
- 2024國(guó)際設(shè)計(jì)師考試全景式復(fù)習(xí)試題及答案
- 2024年設(shè)計(jì)師創(chuàng)意能力考核題及答案
- 助理廣告師考試目標(biāo)導(dǎo)向試題及答案
- 側(cè)方停車考試題庫(kù)及答案
- 信托業(yè)培訓(xùn)試題及答案
- 2024年紡織品新材料趨勢(shì)試題及答案
- 新能源知識(shí)競(jìng)賽考試試卷及答案(二)
- 廣告設(shè)計(jì)師考試2024年外部環(huán)境影響試題及答案
- 婦科一病一品護(hù)理匯報(bào)
- 大學(xué)生心理健康教育-大學(xué)生心理健康
- 精密干涉?zhèn)鞲屑夹g(shù)與應(yīng)用 - 干涉條紋與zernike多項(xiàng)式
- 2024住院患者靜脈血栓栓塞癥預(yù)防護(hù)理與管理專家共識(shí)要點(diǎn)(全文)
- 2024-2030年中國(guó)有機(jī)肥產(chǎn)業(yè)應(yīng)用態(tài)勢(shì)及投資盈利預(yù)測(cè)報(bào)告
- 鋼結(jié)構(gòu)工程施工應(yīng)急處置措施
- 施工損壞賠償協(xié)議書(shū)
- 2024年湖北省十堰市荊楚初中聯(lián)盟八年級(jí)中考模擬預(yù)測(cè)生物試題
- 2024年北京東城區(qū)高三二模地理試題和答案
- 幼兒園一等獎(jiǎng)公開(kāi)課:大班繪本《愛(ài)書(shū)的孩子》課件
- 中國(guó)城市建設(shè)史智慧樹(shù)知到期末考試答案章節(jié)答案2024年西安工業(yè)大學(xué)
評(píng)論
0/150
提交評(píng)論