jacoco官网:http://www.eclemma.org/jacoco/
手动使用方法: 1. 在tomcat的脚本catalina.sh中加入jacoco相关的配置,如下 #原有内容,220行左右
if [ -z "$LOGGING_MANAGER" ]; then
JAVA_OPTS="$JAVA_OPTS
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
else
JAVA_OPTS="$JAVA_OPTS $LOGGING_MANAGER"
fi
在以上原有代码后面添加以下代码:
JAVA_OPTS="$JAVA_OPTS -javaagent:/home/test_ds/jacoco/lib/jacocoagent.jar=destfile=/home/test_ds/langfangPoc/jacoco/target/jacoco.exec,append=false,includes=com.yoyosys.lfpoc.*"
注:以上参数用来指定jacocoagent.jar路径、输出文件的路径destfile、是否允许append、包含那些类等。
2、启动tomcat、访问相关地址、停止tomcat后才会生成destfile相关文件。
3、根据官网提供的示例中,参考build.xml,或创建build.xml文件,内容如下,修改相关property: result.classes.dir、result.report.dir、result.exec.file、classpath节点。
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2009, 2013 Mountainminds GmbH & Co. KG and Contributors
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
Contributors:
Marc R. Hoffmann - initial API and implementation
-->
<project name="Example Ant Build with JaCoCo" default="report" xmlns:jacoco="antlib:org.jacoco.ant">
<description>
Example Ant build file that demonstrates how a JaCoCo coverage report
can be itegrated into an existing build in three simple steps.
</description>
<property name="src.dir" location="/home/bzl/YOYO/project/ssconsole/branches/wang.jiyun/src/" />
<property name="result.dir" location="./target" />
<!--
<property name="result.classes.dir" location="/home/test_ds/langfangPoc/build/classes" />
-->
<property name="result.classes.dir" location="/home/bzl/download/soft/apache-tomcat-6.0.35/webapps/SSConsole/WEB-INF/classes" />
<property name="result.report.dir" location="/home/bzl/site/jacoco" />
<property name="result.exec.file" location="/home/bzl/jacoco.exec" />
<!-- Step 1: Import JaCoCo Ant tasks -->
<taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
<classpath path="/home/bzl/jacoco-0.6.2.201302030002/lib/jacocoant.jar" />
</taskdef>
<target name="clean">
<delete dir="${result.dir}" />
</target>
<target name="compile">
<mkdir dir="${result.classes.dir}" />
<javac srcdir="${src.dir}" destdir="${result.classes.dir}" debug="true" includeantruntime="false" />
</target>
<target name="test" depends="">
<!-- Step 2: Wrap test execution with the JaCoCo coverage task -->
<jacoco:coverage destfile="${result.exec.file}">
<java classname="org.jacoco.examples.parser.Main" fork="true">
<classpath path="${result.classes.dir}" />
<arg value="2 * 3 + 4"/>
<arg value="2 + 3 * 4"/>
<arg value="(2 + 3) * 4"/>
<arg value="2 * 2 * 2 * 2"/>
<arg value="1 + 2 + 3 + 4"/>
<arg value="2 * 3 + 2 * 5"/>
</java>
</jacoco:coverage>
</target>
<target name="report" depends="">
<!-- Step 3: Create coverage report -->
<jacoco:report>
<!-- This task needs the collected execution data and ... -->
<executiondata>
<file file="${result.exec.file}" />
</executiondata>
<!-- the class files and optional source files ... -->
<structure name="JaCoCo Ant Example">
<classfiles>
<fileset dir="${result.classes.dir}" />
</classfiles>
<sourcefiles encoding="UTF-8">
<fileset dir="${src.dir}" />
</sourcefiles>
</structure>
<!-- to produce reports in different formats. -->
<html destdir="${result.report.dir}" />
<csv destfile="${result.report.dir}/report.csv" />
<xml destfile="${result.report.dir}/report.xml" />
</jacoco:report>
</target>
</project>
4、执行ant report 命令,即生成覆盖报告。到相关目录查看 如:file:///home/bzl/site/jacoco/index.html
本文介绍如何使用JaCoCo工具进行代码覆盖率测试。通过在Tomcat中配置JaCoCo代理,收集运行时代码覆盖数据,并利用Ant脚本生成详细的HTML报告。
876

被折叠的 条评论
为什么被折叠?



