亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Clover在JUnit中的使用

系統(tǒng) 1570 0

下面還是簡要的介紹一下Clover在JUnit中的使用(構(gòu)建工具為Ant):
??? 1.在使用Clover做測試覆蓋率分析之前請確保您的代碼及測試代碼無誤。
??? 2.如果采用Ant作為構(gòu)建工具,則將clover.jar放入Ant的classpath下。也可采用另一種方法,可先將clover.jar及Clover中的另一個(gè)jar包c(diǎn)enquatasks.jar放入項(xiàng)目的lib下,采用cenquatasks.jar中的extendclasspath方法將clover.jar擴(kuò)展到Ant下,在build.xml中加入以下代碼:

< taskdef? resource ="com/cenqua/ant/antlib.xml" ?classpath ="lib/cenquatasks.jar" />
< extendclasspath? path ="lib/clover.jar" />
< taskdef? resource ="clovertasks" ?classpath ="lib/clover.jar" />
??? 3.添加clovertask到Ant中,如下:
< taskdef? resource ="clovertasks" />
??? 4.在build.xml中加入clover的初始化任務(wù):
?? <!-- ?clover.init -->
??
< target? name ="clover.init" >
????
< clover-setup? initString ="clover_coverage.db" ?preserve ="true" />
??
</ target >
注意:步驟3中的代碼可放入4中。
??? 5.加入一個(gè)或多個(gè)運(yùn)行clover report的任務(wù),最后的結(jié)果有多種輸出方式:html、pdf、swing、xml等等。
其中,swing方式的代碼如下:
? <!-- ?show?the?clover?coverage?result?with?swing? -->
???
< target? name ="clover.swing" ?depends ="clover" >
????????
< clover-view />
???
</ target >
html方式如下:
? <!-- ?show?the?clover?coverage?result?with?html?file? -->
?
< target? name ="clover.html" ?depends ="clover" >
????
< clover-report >
??????
< current? outfile ="${target.dir}/clover" ?title ="Clover?Report" >
????????
< format? type ="html" /> ?
??????
</ current > ?????
????
</ clover-report >
??
</ target >
??? 上面代碼中都depends="clover",這里clover任務(wù)只是為了簡潔而設(shè),代碼如下:
<!-- ?runs?the?clover? -->
????
< target? name ="clover" ?depends ="clean,clover.init,compile,test" />
??? 通過以上代碼的設(shè)置即可運(yùn)行clover.swing 或者clover.html運(yùn)行Clover查看測試代碼的覆蓋率。測試結(jié)果如下圖所示:
???? 其中build.xml中的運(yùn)行JUnit測試代碼的任務(wù)如下:
? <!-- ?runs?the?tests? -->
?????
< target? name ="test" >
????????
< java? classname ="MoneyTest" ??fork ="yes" >
????????????
< classpath? refid ="build.classpath" />
????????
</ java >
?????
</ target >
這是通過java命令運(yùn)行的,也就是在MoneyTest.java中有main方法:
public ? static ? void ?main(String?args[])? {
????????junit.textui.TestRunner.run(MoneyTest.
class );
????}
還可以直接通過junit命令運(yùn)行,如下:
< target? name ="unittest" ?depends ="clover.init,compile" ?description ="Test?the?application" >
????????
< taskdef? resource ="clovertasks" />
????????
< echo? message ="Testing?the?application?with?junit .." />
????????
< junit? haltonfailure ="true" ?printsummary ="true" ??fork ="true" >
????????????????
< classpath? refid ="build.classpath" />
????????????????
< classpath >
????????????????????????
< pathelement? path ="${ant.home}/lib/clover.jar" />
????????????????
</ classpath >
????????????????
< formatter? type ="brief" ?usefile ="false" />
????
<!-- ????????????<test?name="MoneyTest"/>??? -->
????????????????
< batchtest >
????????????????????????
< fileset? dir ="${build}" ?includes ="**/*Test.class" />
????????????????
</ batchtest >
????????
</ junit >
</ target >
以上兩種test方法都可使用。
??? 在所有任務(wù)中,首先要運(yùn)行clover.init這樣就能啟動clover,對后面的任務(wù)進(jìn)行監(jiān)控并adapt一些操作,在隨后的compile過程中,clover會記錄所編譯的java文件的各種數(shù)據(jù)并存入其db數(shù)據(jù)庫,clover會監(jiān)控隨后運(yùn)行的UnitTest,計(jì)算測試的覆蓋率并寫入數(shù)據(jù)庫。這里有一點(diǎn)要注意:無論是采用java方式還是junit方式運(yùn)行test房間,都要在命令中加入屬性fork="true",這是因?yàn)閏lover要在JVM shutdown的時(shí)候?qū)?shù)據(jù)寫入數(shù)據(jù)庫,如果沒有這個(gè)屬性,就會出現(xiàn)“no coverage data found for *.db”錯(cuò)誤,出現(xiàn)測試覆蓋率均為0的結(jié)果。

Clover在JUnit中的使用


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产99免费视频 | 久久国产三级精品 | 天堂日韩 | 一级淫片免费视频 | 亚洲欧美在线中文字幕不卡 | 久久久99精品久久久 | 黄色在线视频网 | 国产在线观看一区二区三区 | 亚洲国产香蕉视频欧美 | 日韩免费观看一级毛片看看 | 站长推荐国产午夜免费视频 | 国产99福利视频在线 | 日日噜噜夜夜狠狠久久丁香 | 四虎精品永久免费 | 88国产经典欧美一区二区三区 | 男人天堂a| 亚洲一级毛片在线观播放 | 国产成人精品cao在线 | 国产一级特黄高清免费大片 | 午夜看一级特黄a大片 | 欧美亚洲网站 | 精品自拍视频 | 一区二区三区高清在线 | 女人zzzooooxxxx| 亚洲精品一区二区 | 四虎永久在线精品国产免费 | 亚洲伦理视频 | 国内精品免费一区二区三区 | 国产精品美女www爽爽爽视频 | 亚洲一区二区三区播放在线 | 午夜手机看片 | 亚洲五月激情 | 欧美色网 | 免费鲁丝片一级观看 | 天天干天天操天天爽 | 成人区精品一区二区毛片不卡 | 日本成a人免费视频 | 亚洲精品日本高清中文字幕 | 99视频精品全部在线播放 | 天天射综合 | 国产毛片在线高清视频 |