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

cobertura 和tomcat如何集成使用

系統 1861 0

注意點

  1. 需要Copy cobertura.jar及其LIB到TOMCAT/COMMON/LIB:
  2. 只有當TOMCAT關閉的時候,才會寫cobertura.ser文件

步驟

  1. start up tomcat
  2. build war
  3. deploy web application
  4. web test
  5. undeploy
  6. shut down
  7. coverage report

? 附build.xml

< project?name = " KSystem " ? default = " smoketest " ?basedir = " . " >

????
< property?environment = " env " />
????
< property?name = " checkstyle.dir " ?value = " ${env.CHECKSTYLE_HOME} " ? />
????
< path?id = " checkstyle.classpath " >
????????
< fileset?dir = " ${checkstyle.dir} " >
????????????
< include?name = " checkstyle-all-4.1.jar " ? />
????????
</ fileset >
????
</ path >
????
< property?name = " cobertura.dir " ?value = " ${env.COBERTURA_HOME} " ? />
????
< path?id = " cobertura.classpath " >
????????
< fileset?dir = " ${cobertura.dir} " >
????????????
< include?name = " cobertura.jar " ? />
????????
</ fileset >
????
</ path >
????
????
< taskdef?name = " jcsc " ?classname = " rj.tools.jcsc.ant.JCSCTask " ?classpath = " ${env.JCSC_HOME}/lib/jcsc.jar " ? />
????
< taskdef?resource = " checkstyletask.properties " ?classpathref = " checkstyle.classpath " ? />
????
< taskdef?classpathref = " cobertura.classpath " ?resource = " tasks.properties " ? />
????
< taskdef?name = " pmd " ?classname = " net.sourceforge.pmd.ant.PMDTask " ?classpath = " ${env.PMD_HOME}/lib/pmd-3.7.jar " />

????
<!-- ?master?build? -->
????
< property?name = " project.dir " ?value = " ${basedir} " ? />
????
< property?name = " project.lib.dir " ?value = " ${project.dir}/WEB-INF/lib " ? />
????
< property?name = " build.dir " ?value = " ${basedir}/build " ? />
????
< property?name = " out.dir " ?value = " ${build.dir} " ? />
????
< property?name = " out.file.name " ?value = " ${ant.project.name} " ? />
????
< property?name = " classes.dir " ?value = " ${out.dir}/classes " ? />
????
< property?name = " src.dir " ?value = " ${project.dir}/src " ? />
????
< property?name = " webtests.dir " ?value = " ${project.dir}/webtests " ? />
????
< property?name = " instrumented.dir " ?value = " ${out.dir}/instrumented " ? />

????
< property?name = " cvs.repository " ?value = " :pserver:ci:ci@192.168.126.10:/KSystem " />
????
< property?name = " cvs.package " ?value = " ${ant.project.name} " />
????
< target?name = " checkout " >
????????
< cvs?command = " update?-d?-P " />
????
</ target > ????

????
< target?name = " qa.build " ?description = " build?java?file?including?cobertura?for?coverage?test " >
????????
< javac?target = " 1.4 " ?
????????????????source
= " 1.4 " ?
????????????????destdir
= " ${classes.dir} " ?
????????????????debug
= " yes "
????????????????encoding
= " utf-8 " >
????????????
< src?path = " ${src.dir} " ? />
????????????
< src?path = " ${tests.dir} " ? />
????????????
< include?name = " **/*.java " ? />
????????????
< classpath?refid = " compile.classpath " />
????????????
< include?name = " ${cobertura.path} " ? />
????????????
????????????
<!-- ?when?i?need? do ?QA,?the?classpath? is ?need,?otherwise,?donot?include?the?classpath? -->
????????????
< classpath?refid = " cobertura.classpath " ? />
????????
</ javac >
????????
< copy?todir = " ${classes.dir} " >
????????????
< fileset?dir = " ${src.dir} " >
????????????????
< exclude?name = " **/*.java " />
????????????
</ fileset >
????????
</ copy >
????
</ target >
????
????
< target?name = " initdir " >

????????
< delete?dir = " ${reports.jcsc.dir} " ? />
????????
< delete?dir = " ${reports.jcsc.dir}/xsl " ? />
????????
????????
< delete?dir = " ${reports.checkstyle.dir} " ? />
????????
< delete?dir = " ${reports.cobertura.dir} " ? />
????????
< delete?dir = " ${reports.cobertura.xml.dir} " ? />
????????
< delete?dir = " ${reports.cobertura.html.dir} " ? />
????????
????????
< delete?dir = " ${reports.junit.dir} " ? />
????????
< delete?dir = " ${reports.junit.html.dir} " ? />
????????
< delete?dir = " ${reports.junit.xml.dir} " ? />
????????
????????
< delete?dir = " ${reports.pmd.dir} " ? />
????????
< delete?dir = " ${reports.pmd.xml.dir} " ? />
????????
????????
< delete?dir = " ${reports.dir} " />
????????
????????
< delete?dir = " ${out.dir} " ? />
????????
< delete?dir = " ${classes.dir} " ? />
????????
< mkdir?dir = " ${out.dir} " ? />
????????
< mkdir?dir = " ${classes.dir} " ? />
????????
????????
< mkdir?dir = " ${reports.dir} " ? />
????????
< mkdir?dir = " ${reports.jcsc.dir} " ? />
????????
< mkdir?dir = " ${reports.jcsc.dir}/xsl " ? />
????????
< copy?todir = " ${reports.jcsc.dir}/xsl " >
????????????
< fileset?dir = " ${env.JCSC_HOME}/html/xml/xsl " ? />
????????
</ copy >
????????
????????
< mkdir?dir = " ${reports.checkstyle.dir} " ? />
????????
< mkdir?dir = " ${reports.cobertura.dir} " ? />
????????
< mkdir?dir = " ${reports.cobertura.xml.dir} " ? />
????????
< mkdir?dir = " ${reports.cobertura.html.dir} " ? />
????????
????????
< mkdir?dir = " ${reports.junit.dir} " ? />
????????
< mkdir?dir = " ${reports.junit.html.dir} " ? />
????????
< mkdir?dir = " ${reports.junit.xml.dir} " ? />
????????
????????
< mkdir?dir = " ${reports.pmd.dir} " ? />
????????
< mkdir?dir = " ${reports.pmd.xml.dir} " ? />
????
</ target >
????
????
< property?name = " tomcat.manager.url " ?value = " http://localhost:8080/manager " ? />
????
< property?name = " tomcat.username " ?value = " admin " ? />
????
< property?name = " tomcat.password " ?value = " admin " ? />
????
< property?name = " webapp.name " ?value = " ${ant.project.name} " ? />
????
< property?name = " tomcat.home " ?value = " ${env.CATALINA_HOME} " ? />
????
< target?name = " tomcat.startup " >
????????
< exec?executable = " ${tomcat.home}/bin/startup.bat " ? />
????
</ target >
????
< target?name = ? " tomcat.shutdown " >
????????
< exec?executable = " ${tomcat.home}/bin/shutdown.bat " ? />
????
</ target >
????
< property?file = " tomcatTasks.properties " ? />
????
< taskdef?file = " tomcat.properties " >
????????
< classpath >
????????????
< pathelement?path = " ${tomcat.home}/server/lib/catalina-ant.jar " />
????????
</ classpath >
????
</ taskdef >
????
< target?name = " tomcat.deploy " ?description = " Install?application?in?Tomcat " >
????????
< deploy?url = " ${tomcat.manager.url} "
????????????username
= " ${tomcat.username} "
????????????password
= " ${tomcat.password} "
????????????path
= " /${webapp.name} "
????????????war
= " file:${out.dir}/${out.file.name}.war " />
????
</ target >

????
< target?name = " tomcat.undeploy " ?description = " Remove?application?in?Tomcat " >
????????
< undeploy?url = " ${tomcat.manager.url} "
????????????username
= " ${tomcat.username} "
????????????password
= " ${tomcat.password} "
????????????path
= " /${webapp.name} " />
????
</ target >
????
????
<!-- ?make?report -->
????
< property?name = " reports.dir " ?value = " ${out.dir}/reports " ? />
????
< property?name = " reports.jcsc.dir " ?value = " ${reports.dir}/jcsc " ? />
????
< property?name = " jcscrules.path " ?value = " ${env.JCSC_HOME}/rules/genie.jcsc.xml " ? />
????
< property?name = " reports.checkstyle.dir " ?value = " ${reports.dir}/checkstyle " ? />
????
< property?name = " checksytlerule.path " ?value = " ${env.CHECKSTYLE_HOME}/sun_checks.xml " ? />
????
< property?name = " reports.cobertura.dir " ?value = " ${reports.dir}/coverage " ? /> ?
????
< property?name = " reports.cobertura.xml.dir " ?value = " ${reports.cobertura.dir}/xml " ? /> ?
????
< property?name = " reports.cobertura.html.dir " ?value = " ${reports.cobertura.dir}/html " ? /> ?
????
< property?name = " reports.junit.dir " ?value = " ${reports.dir}/junit " ? />
????
< property?name = " reports.junit.xml.dir " ?value = " ${reports.junit.dir}/xml " ? />
????
< property?name = " reports.junit.html.dir " ?value = " ${reports.junit.dir}/html " ? />
????
< property?name = " reports.pmd.dir " ?value = " ${reports.dir}/pmd " ? />
????
< property?name = " reports.pmd.xml.dir " ?value = " ${reports.pmd.dir}/xml " ? />
????
< property?name = " out.junit.textType " ?value = " xml " ? />

????
< target?name = " junitreport " ?description = " generate?reports?of?junit " >
????????
< junitreport?todir = " ${reports.junit.xml.dir} " >
????????????
< fileset?dir = " ${reports.junit.xml.dir} " >
????????????????
< include?name = " TEST-*.xml " ? />
????????????
</ fileset >
????????????
< report?format = " frames " ?todir = " ${reports.junit.html.dir} " ? />
????????
</ junitreport >
????
</ target >
????
????
< target?name = " jcscreport " >
????????
< jcsc?rules = " ${jcscrules.path} " ?destdir = " ${reports.jcsc.dir} " >
????????????
< fileset?dir = " ${src.dir} " ?includes = " **/*.java " />
????????
</ jcsc >
????
</ target >
????
????
< target?name = " checkstylereport " ? >
????????
< property?name = " checkstylereport.path " ?value = " ${reports.checkstyle.dir}/checkstyle_report.xml " ? />

????????
< checkstyle?config = " ${checksytlerule.path} "
????????????failureProperty
= " checkstyle.failure "
????????????failOnViolation
= " false " >
????????????
< formatter?type = " xml " ?tofile = " ${checkstylereport.path} " />
????????????
< fileset?dir = " src " ?includes = " **/*.java " />
????????
</ checkstyle >
????
</ target >
????
????
< target?name = " pmd " >
????????
< pmd?shortFilenames = " true " >
????????????
< ruleset > rulesets / favorites.xml </ ruleset >
????????????
< ruleset > basic </ ruleset >
????????????
< formatter?type = " xml " ?toFile = " ${reports.pmd.xml.dir}/pmd.xml " ? />
????????????
< fileset?dir = " ${src.dir} " >
????????????????
< include?name = " **/*.java " />
????????????
</ fileset >
????????
</ pmd >
????
</ target >
????
????
< target?name = " instrument " >
????????
< delete?file = " cobertura.ser " />
????????
< delete?dir = " ${instrumented.dir} " ? />
????????
< mkdir?dir = " ${instrumented.dir} " ? />
????????
< cobertura - instrument?todir = " ${instrumented.dir} " >
????????????
< ignore?regex = " org.apache.log4j.* " ? />

????????????
< fileset?dir = " ${classes.dir} " >
????????????????
< include?name = " **/*.class " ? />
????????????????
< exclude?name = " **/*Test.class " ? />
????????????????
< exclude?name = " **/AllTests.class " ? />
????????????
</ fileset >
????????
</ cobertura - instrument >
????????????
< copy?todir = " ${instrumented.dir} " >
????????????????
< fileset?dir = " ${classes.dir} " >
????????????????????
< exclude?name = " **/*.class " />
????????????????
</ fileset >
????????????
</ copy >

????
</ target >

????
< target?name = " coverage-check " >
????????
< cobertura - check?branchrate = " 34 " ?totallinerate = " 100 " ? />
????
</ target >
????
????
< target?name = " coverage-report " >
????????
< cobertura - report?srcdir = " ${src.dir} " ?destdir = " ${reports.cobertura.xml.dir} " ?format = " xml " ? />
????
</ target >
????
????
< target?name = " alternate-coverage-report " >
????????
< cobertura - report?destdir = " ${reports.cobertura.html.dir} " >
????????????
< fileset?dir = " ${src.dir} " >
????????????????
< include?name = " **/*.java " />
????????????
</ fileset >
????????
</ cobertura - report >
????
</ target >

????
<!-- ? for ? this ?project? -->
????
< path?id = " compile.classpath " >
????????
< fileset?dir = " ${project.lib.dir} " >
????????????
< include?name = " **/*.jar " ? />
????????
</ fileset >
????
</ path >
????
< path?id = " web.compile.classpath " >
????????
< fileset?dir = " ${env.TOMCAT_HOME}/webapps/${ant.project.name}/WEB-INF/classes " >
????????????
< include?name = " **/*.class " ? />
????????
</ fileset >
????
</ path >

????
<!-- ?smoke?test? -->
????
< target?name = " unittest " ?depends = " qa.build " ?description = " unit?test?using?nunit " >
????????
<!-- ?target?unittest.overide?means?the?a?project?can?selfdefine?itself ' s?unit?target,?the?test?depends?some?special?conditions.?
?????????????that?a?project,?which?would?build?the?unittest?project,?defines?a?unittest. override ,?so,?i?will?call?the?unittest. override ?target,
?????????????instead?of?unittest?
-->
????????
< junit?fork = " yes " ?dir = " ${basedir} " ?failureProperty = " test.failed " ? >
????????????
< classpath?location = " ${instrumented.dir} " ? />
????????????
< classpath?location = " ${classes.dir} " ? />
????????????
????????????
< classpath?refid = " compile.classpath " ? />

????????????
< classpath?refid = " cobertura.classpath " ? />

????????????
< formatter?type = " ${out.junit.textType} " />
????????????
< batchtest?fork = " yes " ?todir = " ${reports.junit.xml.dir} " ? >
????????????????
< fileset?dir = " ${tests.dir} " >
????????????????????
< include?name = " **/*Test.java " />
????????????????
</ fileset >
????????????
</ batchtest >
????????
</ junit >
????
</ target >

????
< target?name = " smoketest " ? >
????????
< property?name = " tests.dir " ?value = " ${project.dir}/tests " ? />
????????
< antcall?target = " checkout " ></ antcall >
????????
< antcall?target = " initdir " ></ antcall >
????????
< antcall?target = " qa.build " ></ antcall >
????????
< antcall?target = " instrument " ></ antcall >
????????
< antcall?target = " unittest " ></ antcall >
????????
< antcall?target = " junitreport " ></ antcall >
????????
< antcall?target = " coverage-report " ></ antcall >
????????
< antcall?target = " alternate-coverage-report " ></ antcall >
????????
< antcall?target = " jcscreport " ></ antcall >
????????
< antcall?target = " checkstylereport " ></ antcall >
????????
< antcall?target = " pmd " ></ antcall >
????
</ target >
????
<!-- ?system?test? -->
????
< target?name = " webtest " >
????????
< junit?fork = " yes " ?dir = " ${basedir} " ?failureProperty = " test.failed " ? >
????????????
< classpath?location = " ${classes.dir} " ? />
????????????
< classpath?location = " ${tomcat.home}/webapps/${ant.project.name}/WEB-INF/classes " ? />
????????????
< classpath?refid = " compile.classpath " ? />
????????????
< classpath?refid = " cobertura.classpath " ? />
????????????
< formatter?type = " ${out.junit.textType} " />
????????????
< batchtest?fork = " yes " ?todir = " ${reports.junit.xml.dir} " ? >
????????????????
< fileset?dir = " ${tests.dir} " >
????????????????????
< include?name = " **/*Test.java " />
????????????????
</ fileset >
????????????
</ batchtest >
????????
</ junit >
????
</ target >
????
????
< target?name = " buildwar " >
????????
< property?name = " jsp.dir " ?value = " ${project.dir}/jsp " ? />
????????
< war?destfile = " ${out.dir}/${out.file.name}.war " ?webxml = " ${project.dir}\WEB-INF\web.xml " >
????????????
< fileset?dir = " ${jsp.dir} " >
????????????????
< include?name = " **/*.jsp " ? />
????????????????
< include?name = " **/*.html " ? />
????????????????
< include?name = " **/*.htm " />
????????????
</ fileset >
????????????
< webinf?dir = " ${project.dir}\WEB-INF " >
????????????????
< exclude?name = " ${project.dir}\WEB-INF\web.xml " ? />
????????????
</ webinf >
????????????
< classes?dir = " ${out.dir}/classes " ? />
????????
</ war >
????
</ target >

????
< target?name = " systemtest " >
????????
< property?name = " tests.dir " ?value = " ${project.dir}/webtests " ? />
????????
< antcall?target = " checkout " ></ antcall >
????????
< parallel?threadCount = " 2 " >
????????????
< ant?target = " tomcat.startup " ? />
????????????
< sequential >
????????????????
< sleep?seconds = " 4 " />
????????????????
< antcall?target = " initdir " ></ antcall >
????????????????
< antcall?target = " qa.build " ></ antcall >
????????????????
< antcall?target = " instrument " ></ antcall >
????????????????
< antcall?target = " buildwar " ></ antcall >
????????????????
< antcall?target = " tomcat.deploy " ></ antcall >
????????????????
< antcall?target = " webtest " ></ antcall >
????????????????
< antcall?target = " tomcat.undeploy " ></ antcall >
????????????????
< antcall?target = " tomcat.shutdown " ></ antcall >
????????????????
< antcall?target = " junitreport " ></ antcall >
????????????????
< antcall?target = " coverage-report " ></ antcall >
????????????????
< antcall?target = " alternate-coverage-report " ></ antcall >
????????????????
< antcall?target = " jcscreport " ></ antcall >
????????????????
< antcall?target = " checkstylereport " ></ antcall >
????????????????
< antcall?target = " pmd " ></ antcall >
????????????
</ sequential >
????????
</ parallel >
????????
< delete?dir = " ${tomcat.home}/webapps/${webapp.name} " ? />
????
</ target >
</ project >

cobertura 和tomcat如何集成使用


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人日韩视频 | 日本二级毛片免费 | 欧美综合区| 伊人一伊人色综合网 | 久久在线精品 | 91探花国产综合在线精品 | 水浒传删减剧情在线观看 | 欧美成人三级一区二区在线观看 | 亚洲人成绝费网站色ww | 亚洲视频不卡 | 欧美日本中文字幕 | 五月婷婷色网 | 黄色片在线免费观看视频 | 国产第一福利影院 | 亚洲美女视频网站 | 国产青草视频免费观看97 | www.五月天激情 | 国产福利第一视频 | 成人欧美一级毛片免费观看 | 亚洲精品欧美在线 | 视频一区国产精品 | 国产色产综合色产在线观看视频 | 福利免费视频 | 99热国产这里只有精品99 | 综合久久色| 精品视频在线观看免费 | 国产99页| 美女叫春| 亚洲成人免费在线视频 | 日韩精品一区在线观看 | 欧美一级毛片免费观看视频 | 老司机午夜在线视频免费 | 亚洲热在线| 国产精品亚洲国产三区 | 精品久久久久久久久久香蕉 | 国产精品国产三级国快看 | 99精品久久久久久久免费看蜜月 | 伊人色综合久久天天网蜜月 | 国产精品日韩欧美久久综合 | 免费a一级毛片在线播放 | 欧美不卡在线视频 |