cobertura-1.9.4.1与Ant一起使用

本文介绍如何通过Ant脚本集成Cobertura进行代码覆盖率测试。包括配置Build.properties文件指定测试路径及依赖库,以及构建build.xml脚本来执行覆盖率测试并生成报告。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先需要编写Ant脚本。

 

1,Build.properties文件如下。

 

 

# Cobertura 路径

cobertura.dir=../../cobertura-1.9.4.1

 

# JUnit 路径

junit.jar=C:/eclipse3.5/eclipse/plugins/org.junit4_4.5.0.v20090824/junit.jar

 

# hamcrest 路径

hamcrest.jar=C:/eclipse3.5/eclipse/plugins/org.hamcrest.core_1.1.0.v20090501071000.jar

 

# 源代码路径

src.dir=src

 

# 测试代码路径,可以多加多个

test.src.dir=test

 

test.XXXXXXsrc.dir=C:/eclipse3.5/workspaceXXXX/test

 

# class文件路径

classes.dir=build/classes

 

# test class路径。

test.classes.dir=build/testClasses

 

# Cobertura用的copy的目录

instrument.dir=build/instrumentedClasses

 

# JUnit覆盖率测试报告路径

report.dir=build/reports

 

# Cobertura测试覆盖率报告路径

coverage.dir=build/coverage

 

 

# 使用的jar包

base.lib.dir=lib

 

webapps.classes.dir=WebContent/WEB-INF/classes

 

 

webapps.lib.dir=WebContent/WEB-INF/lib

 

 

XXXX.src.dir=..XXXX/src

 

 

XXXXX.classes.dir=..XXXX/bin

 

 

XXXX.conf.file=C:/eclipse3.5/workspace/XXXX/WebContent/WEB-INF/conf/conf.xml

 

 

lib.path.dir=C:/eclipse3.5/workspace/XXXXXX/WebContent/WEB-INF/lib/windows-i586

 

2,build.xml路径

<?xml version="1.0" encoding="UTF-8"?>
<project name="Cobertura Sample" default="coverage-report" basedir=".">
<property file="build.properties" />
<path id="cobertura.classpath">
<fileset dir="${cobertura.dir}">
<include name="cobertura.jar" />
<include name="lib/**/*.jar" />
</fileset>
</path>
<taskdef classpathref="cobertura.classpath" resource="tasks.properties"/>
<target name="instrument">
<delete file="cobertura.ser"/>
<delete dir="${instrument.dir}" />
<mkdir dir="${instrument.dir}" />
<cobertura-instrument todir="${instrument.dir}">
<fileset dir="${classes.dir}">
<include name="**/*.class"/>
</fileset>
<fileset dir="${xxx.classes.dir}">
<include name="**/*.class"/>
<!-- exclude name="**/*Test.class"/ -->
</fileset>
</cobertura-instrument>
</target>
<target name="cover-test" depends="instrument">
<delete dir="${report.dir}" />
<mkdir dir="${report.dir}" />
<junit fork="yes" dir="${basedir}" failureProperty="test.failed">
<classpath location="${junit.jar}" />
<classpath location="${hamcrest.jar}" />
<classpath location="${instrument.dir}" />
<classpath location="${classes.dir}" />
<classpath location="${test.classes.dir}" />
<classpath location="${webapps.classes.dir}" />
<classpath location="${XXXXX.classes.dir}" />
<classpath>
<fileset dir="${base.lib.dir}">
<include name="*.jar"/>
<!--exclude name="asm-3.3.jar"/-->
</fileset>
</classpath>
<classpath>
<fileset dir="${tomcat.lib.dir}">
<include name="*.jar"/>
</fileset>
</classpath>
<classpath>
<fileset dir="${webapps.lib.dir}">
<include name="*.jar"/>
</fileset>
</classpath>
<classpath refid="cobertura.classpath" />
<jvmarg value="-Xmx512m"/>
<sysproperty key="XXXX.conf" value="${XXXX.conf.file}"/>
<sysproperty key="lib.path" value="${lib.path.dir}"/>
<formatter type="xml" />
<batchtest todir="${report.dir}">
<fileset dir="${test.src.dir}">
<include name="*.java" />
<include name="/*.java" />
</fileset>
<fileset dir="${testXXXX.src.dir}">
<include name=/*.java" />
<exclude name="**/sample/**/*Test.java" />
</fileset>
</batchtest>
</junit>
</target>
<target name="coverage-report" depends="cover-test">
<delete dir="${coverage.dir}" />
<mkdir dir="${coverage.dir}" />
<cobertura-report destdir="${coverage.dir}">
<fileset dir="${src.dir}">
<!-- include name="**/*.java"/ -->
<include name="/*.java"/>
</fileset>
<fileset dir="${XXXX.src.dir}">
<include name="*/*.java"/>
</fileset>
</cobertura-report>
</target>
</project>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值