cobertura-1.9.4.1与Ant一起使用

    技术2024-06-24  65

    首先需要编写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>

     

    最新回复(0)