`
oceanloong
  • 浏览: 28367 次
社区版块
存档分类
最新评论

代码覆盖度工具jacoco的入门

阅读更多

  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

分享到:
评论
1 楼 string2020 2014-05-25  
[java] 错误: 找不到或无法加载主类 org.jacoco.examples.parser.Main

org.jacoco.examples.parser.Main这个类在哪里,在哪个jar里面

相关推荐

    Java单元测试之代码覆盖率-JaCoCo

    JaCoCo是一款广泛使用的Java代码覆盖率工具,它可以方便地集成到各种构建工具和持续集成系统中,提供详细的覆盖率报告。 JaCoCo通过插入字节码的方式,动态地监控Java程序的执行,记录哪些代码行被测试用例执行过,...

    android工程JaCoCo代码覆盖率Demo

    在Android开发中,JaCoCo是一个非常重要的工具...这个"android工程JaCoCo代码覆盖率Demo"将帮助你迈出实现高质量Android开发的第一步。通过实践和学习,你可以掌握这一强大工具,提升你的Android应用的健壮性和可靠性。

    jacoco统计手动测试覆盖率工具文件

    Jacoco(JaCoCo)是Java领域内广泛使用的代码覆盖率工具,它能为单元测试、集成测试等提供精确的覆盖率报告。本文件提供的工具是针对手动测试的覆盖率统计,与传统的自动化测试不同,它适用于那些难以或无法进行自动...

    jacoco+sonar代码覆盖率工具.zip

    JaCoCo(Java Code Coverage)是一款开源的Java代码覆盖率工具,它能够为Java应用程序提供详细的代码覆盖率报告。JaCoCo通过插入字节码的方式在运行时收集覆盖率数据,支持Java应用程序、Java代理、Java Applets、...

    Super-jacoco应用统计代码覆盖率及问题处理

    JaCoCo是一款开源的Java代码覆盖率工具,它能够方便地集成到Maven、Gradle或IntelliJ IDEA等开发环境中,为项目提供详尽的单元测试覆盖率报告。JaCoCo通过字节码注入技术,动态地收集运行时的执行信息,从而计算出...

    Java代码覆盖率工具包Java代码覆盖率工具包

    Java代码覆盖率工具包Java代码覆盖率工具包Java代码覆盖率工具包Java代码覆盖率工具包Java代码覆盖率工具包Java代码覆盖率工具包Java代码覆盖率工具包Java代码覆盖率工具包Java代码覆盖率工具包Java代码覆盖率工具包...

    jacoco 代码覆盖率的报告,样式。

    jacoco 代码覆盖率的报告,样式,用来演示 代码覆盖率的讲解。

    代码覆盖率工具

    代码覆盖率工具是软件开发过程中的重要辅助手段,主要用于评估测试代码对源代码的覆盖程度。...在实际开发中,结合持续集成和自动化测试,代码覆盖率工具能帮助团队实现更好的质量管理,降低软件缺陷,提高用户满意度。

    jenkins集成jacoco获取代码覆盖率.docx

    总结来说,JaCoCo是Java项目中获取代码覆盖率的重要工具,它可以通过Maven插件或直接在POM中配置来集成到构建流程中。对于单元测试和接口测试,JaCoCo都能提供详细的覆盖率报告,帮助团队确保测试的质量和完整性。...

    jacoco-0.8.8.zip

    这个压缩包文件 "jacoco-0.8.8.zip" 是Java代码覆盖率工具JaCoCo的一个版本。JaCoCo是一款强大的开源插件,它允许开发者衡量和分析他们的Java代码在执行测试时被覆盖的程度。代码覆盖率是评估测试质量的一个关键指标...

    jacoco官方0.8.7版本用于检测代码覆盖率

    JaCoCo,全称为Java Code Coverage Library,是一款广泛使用的开源代码覆盖率工具,适用于Java应用程序。它提供了全面且精确的代码覆盖率报告,帮助开发者确保测试覆盖了大部分代码,遵循良好的软件开发实践。JaCoCo...

    ant集成jacoco生成代码覆盖率报表

    标题中的“ant集成jacoco生成代码覆盖率报表”指的是在Java开发中,使用Apache Ant构建工具与JaCoCo代码覆盖率库相结合,来生成项目代码的覆盖率报告。JaCoCo是一款广泛使用的开源代码覆盖率工具,它提供了方便的...

    jacoco:Java代码覆盖率库

    JaCoCo Java代码覆盖率库 JaCoCo是根据Eclipse Public License发布的免费Java代码覆盖库。 检查以获取下载,文档和反馈。 请使用我们的以获取有关JaCoCo的问题,这些问题尚未在详尽的涵盖。注意:我们不会在项目的...

    sbt-jacoco, 在sbt中,JaCoCo代码覆盖插件.zip

    sbt-jacoco, 在sbt中,JaCoCo代码覆盖插件 sbt JaCoCo - sbt中通过JaCoCo的代码覆盖率 这是一个 sbt插件插件,用于通过 JaCoCo 进行代码覆盖率分析。通过将以下内容添加到 project/plugins.sbt 来安装插件:ad

    jacoco 实现代码覆盖率

    Jacoco,全称为JaCoCo,是一款在Java领域广泛应用的代码覆盖率工具。它为开发者提供了衡量单元测试质量的重要指标,通过分析程序执行路径,统计被测试代码的覆盖情况,帮助开发者了解哪些代码段在测试过程中得到了...

    JacocoPlus:基于jacoco,JGit 二次开发增量代码覆盖率工具

    documentation and feedback.Please use our for questions regarding JaCoCo which are not already covered by the.Note: 欢迎一起开发,有问题提issueJaCoCo二次开发基于Git分支差分实现增量代码覆盖率原理:...

    jacoco单元测试覆盖率+maven DEMO2

    JaCoCo是一款流行的开源Java代码覆盖率工具,它能轻松地集成到构建工具如Maven中,帮助开发者准确地了解单元测试的覆盖率情况。 **JaCoCo简介** JaCoCo提供了全面的代码覆盖率报告,包括行覆盖率、分支覆盖率、...

    jacoco插装文件

    Java代码覆盖率工具JaCoCo是Java开发者在进行单元测试时常用的一款开源库,它能够帮助开发者精确地衡量代码被测试覆盖的程度。JaCoCo通过字节码插装技术(Bytecode Instrumentation)来实现对代码覆盖率的跟踪。下面...

    一种Java代码覆盖率工具的应用研究.pdf

    代码覆盖率工具是基于白盒测试技术的一种自动化测试工具,它通过代码覆盖率来代表被测代码的覆盖程度,检验测试的完整性。代码覆盖测试是软件白盒测试的主要方法,能够从代码层面定位测试过程中发现的缺陷,发现被测...

    一种Java代码覆盖率工具的应用研究.zip

    2. **Java代码覆盖率工具**:Java平台上有多种代码覆盖率工具,如JaCoCo、Cobertura、Emma等。这些工具通过插入字节码或代理类的方式收集覆盖率数据,然后生成报告展示未被测试覆盖的代码。JaCoCo是目前较为流行的一...

Global site tag (gtag.js) - Google Analytics