




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、JUnit測(cè)試的優(yōu)缺點(diǎn):JUnit測(cè)試程序編寫規(guī)范(2006-11-15 15:01:44 分類: Java開發(fā)參考 一、 程序命名規(guī)范 測(cè)試類的命名 測(cè)試類的命名規(guī)則是:被測(cè)試類的類名+Test比如有一個(gè)類叫IrgSrhDelegate,那么它的測(cè)試類的命名就是IrgSrhDelegateTest測(cè)試用例的命名 測(cè)試用例的命名規(guī)則是:test+用例方法名稱 比如要測(cè)試的方法叫updateData,那么測(cè)試用例的命名就是testUpdateData(說(shuō)明:“用例方法”就是指被測(cè)試的類中所包含的方法,而“測(cè)試用例”就是指測(cè)試類中所包含的方法比如IrgSrhDelegate中有一個(gè)方法叫做find
2、ByIrgFindParam,那么在IrgSrhDelegateTest中對(duì)應(yīng)的測(cè)試用例名稱就是testFindByIrgFindParam。 其它命名規(guī)范 本規(guī)范未說(shuō)明的其它命名規(guī)范請(qǐng)參照J(rèn)*A語(yǔ)言編碼規(guī)范(ENO-W063-J*A Coding Rule.doc)。 二、 測(cè)試程序的包名定義規(guī)范 為了保持測(cè)試程序的獨(dú)立和穩(wěn)定性,請(qǐng)按照下面的方式組織測(cè)試程序: 假如被測(cè)試類的包名是com.wistrons.util,那么測(cè)試類的包名就是.wistrons.util。也就是說(shuō)在被測(cè)試類的包名前加上“test.”,這就是測(cè)試類的包名。 三、 測(cè)試數(shù)據(jù)的準(zhǔn)備方案 準(zhǔn)備測(cè)試數(shù)據(jù)時(shí)有三種方案可以選擇。
3、 在程序中直接寫入測(cè)試數(shù)據(jù) 在要輸入的數(shù)據(jù)項(xiàng)不多的情況下可以采用這種方式 使用junitpack包中的InputDataUtil工具類 (要使用這個(gè)工具,請(qǐng)?jiān)跍y(cè)試程序中加上import junitpack.InputDataUtil) 這種方法要求把測(cè)試數(shù)據(jù)寫在一個(gè)XML文件中,XML的格式如下所示: h0001 在這個(gè)XML文件中的根節(jié)點(diǎn)為inputs,根節(jié)點(diǎn)下可以有多個(gè)input節(jié)點(diǎn)。每個(gè)input節(jié)點(diǎn)代表一個(gè)case中需要的所有數(shù)據(jù)。 使用這個(gè)工具類的操作步驟如下: 1) 獲取XML的存放路徑。 請(qǐng)把寫好的XML存放在測(cè)試類所在的目錄中,然后可以按如下方式取得XML的存放路徑: Stri
4、ng xml = IrgSrhDelegateTest.class.getResource(".".toString( +"test.xml"2) 創(chuàng)建InputDataUtil的實(shí)例。 InputDataUtil inputUtil = new InputDataUtil(;3) 在InputDataUtil實(shí)例中設(shè)置接受數(shù)據(jù)的類名,InputDataUtil將此類與XML進(jìn)行數(shù)據(jù)綁定。 inputUtil.setClassName("mon.fz25IrgSrh. SeekIrgSrhOpt"4) 調(diào)用InputDataUtil.
5、parse(方法,從XML中采集數(shù)據(jù) java.util.Vector vector = (java.util.Vector inputUtil.parse(xml;5) 從Vector中取出被綁定類的實(shí)例 for (int i = 0; i < vector.size(; i+ SeekIrgSrhOpt opt = (SeekIrgSrhOpt vector.get(i; 現(xiàn)在對(duì)InputDataUtil的工作原理進(jìn)行說(shuō)明。InputDataUtil會(huì)根據(jù)input節(jié)點(diǎn)下的子節(jié)點(diǎn)名來(lái)設(shè)置被綁定的類中對(duì)應(yīng)的set方法,然后把XML中的數(shù)據(jù)設(shè)置到被綁定類中。比如上例XML中,input節(jié)
6、點(diǎn)下有三個(gè)子節(jié)點(diǎn):IrgCd、IrgName、IrgKname。那么在調(diào)用InputDataUtil.parse(方法時(shí),InputDataUtil就會(huì)分別調(diào)用SeekIrgSrhOpt類的setIrgCd(、setIrgName(、setIrgKname(方法,把數(shù)據(jù)設(shè)置到SeekIrgSrhOpt的實(shí)例類中,并返回包含這些實(shí)例類的Vector對(duì)象。 使用Digester(要使用這個(gè)工具,請(qǐng)?jiān)跍y(cè)試程序中加上import mons.digester.Digester) Digester是Apache提供的一個(gè)工具類,上面的InputDataUtil也是從Digester類繼承的。當(dāng)使用Inpu
7、tDataUtil暫時(shí)無(wú)法解決的時(shí)候,可以直接使用Digester。 使用Digester的步驟如下: 1) 獲取XML的存放路徑。 獲取方式與使用InputDataUtil相同。 2) 創(chuàng)建Digester的實(shí)例。 Digester dig = new Digester(;3) 設(shè)定與inputs節(jié)點(diǎn)綁定的類為Vectordig.addObjectCreate("inputs", "java.util.Vector"4) 設(shè)定與input節(jié)點(diǎn)綁定的類 dig.addObjectCreate("inputs/input","
8、 mon.fz25IrgSrh. SeekIrgSrhOpt "5) 根據(jù)input節(jié)點(diǎn)下的子節(jié)點(diǎn),依次設(shè)定相應(yīng)的set方法 dig.addCallMethod("inputs/input/ IrgCd ", "setIrgCd ", 1;dig.addCallParam("inputs/input/ IrgCd ", 0;6) 設(shè)定向Vector中加入數(shù)據(jù)的方法 dig.addSetNext("inputs/input", "add"7) 調(diào)用Digester.parse(方法,從X
9、ML中采集數(shù)據(jù) java.util.Vector vector = (java.util.Vector dig.parse(xml;8) 從Vector中取出被綁定類的實(shí)例 for (int i = 0; i < vector.size(; i+ SeekIrgSrhOpt opt = (SeekIrgSrhOpt vector.get(i; Digester的用法非常靈活,可以組織非常復(fù)雜的數(shù)據(jù)。 關(guān)于Digester的詳細(xì)用法請(qǐng)參考/commons/digester/。 四、 對(duì)UI測(cè)試的原則 對(duì)UI做單元測(cè)試必須做到不能牽涉到業(yè)務(wù)邏輯操作(比如數(shù)據(jù)庫(kù)操作、與Server的交互)。否則就是UI的設(shè)計(jì)不合理。對(duì)UI的單元測(cè)試應(yīng)該非常單純,就只是測(cè)試界面的動(dòng)作是否符合設(shè)計(jì)要求。 五、 測(cè)試數(shù)據(jù)的覆蓋率
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程竣工驗(yàn)收?qǐng)?bào)告建筑物隔音性能檢測(cè)
- 鹽田樓頂防水施工方案
- 2025年網(wǎng)絡(luò)安全產(chǎn)業(yè)布局及發(fā)展預(yù)測(cè):市場(chǎng)規(guī)模與技術(shù)趨勢(shì)分析
- 廚房排風(fēng)管施工方案
- 江蘇省南京市南京師范大學(xué)附屬中學(xué)2024-2025學(xué)年高一上學(xué)期期末考試數(shù)學(xué)試卷(解析版)
- 幕墻競(jìng)標(biāo)方案模板范本
- 升降平臺(tái)鋼筋施工方案
- 巡視通道修繕施工方案
- 裝修施工方案與技術(shù)措施
- 電梯井道整改施工方案
- (中職)中職生創(chuàng)新創(chuàng)業(yè)能力提升教課件完整版
- 2024至2030年中國(guó)石油瀝青市場(chǎng)前景及投資機(jī)會(huì)研究報(bào)告
- 2024年安徽教師招聘教師招聘筆試真題及答案
- 武漢大學(xué)張俊:2024生成式人工智能大模型及其電力系統(tǒng)數(shù)智化應(yīng)用前沿報(bào)告
- (高清版)AQ 1056-2008 煤礦通風(fēng)能力核定標(biāo)準(zhǔn)
- 護(hù)理美學(xué)-第十一章 護(hù)理審美評(píng)價(jià)
- 河道修防工(中級(jí))技能鑒定理論考試題庫(kù)(含答案)
- 《內(nèi)陸干旱區(qū)季節(jié)性河流生態(tài)流量(水量)確定技術(shù)導(dǎo)則》
- 生物專業(yè)英語(yǔ)翻譯和單詞(專業(yè)版)
- 特色高中建設(shè)實(shí)施方案
評(píng)論
0/150
提交評(píng)論