zoukankan      html  css  js  c++  java
  • jacoco+maven 初次使用覆盖率工具

    工作要搞覆盖率测试,看到公司平台上用的jacoco,就找了网上的demo自己跑了一下。

    一.覆盖率测试是干什么的

    http://www.open-open.com/lib/view/open1472174544246.html

      1.用来看看类/方法/判定 中的语句的使用情况,防止废弃无用的代码和错误代码出现。

      2.用来和需求覆盖做一个对照,做用例和代码的一种映射检查,补齐一些用例的逻辑上的缺陷。

    二.jacoco的原理

      jacoco提供两种插桩方式,on-the-fly 和offline两种,这两种的实现原理不同。

      参考:http://www.open-open.com/lib/view/open1472174544246.html

    三.项目代码

      参考网址:https://www.eclemma.org/jacoco/trunk/doc/maven.html

      pom部分

    <dependency>
    			<groupId>org.jacoco</groupId>
    			<artifactId>jacoco-maven-plugin</artifactId>
    			<version>0.8.3</version>
    			<type>maven-plugin</type>
    		</dependency>
    

      

    <plugin>
    				<groupId>org.jacoco</groupId>
    				<artifactId>jacoco-maven-plugin</artifactId>
    				<version>0.8.3</version>
    				<!-- 
    				<configuration>
    					<includes>zhizhi</includes>
    				</configuration>
    				 -->
    				<executions>
    					<execution>
    						<id>default-prepare-agent</id>
    						<goals>
    							<goal>prepare-agent</goal>
    						</goals>
    					</execution>
    					<execution>
    						<id>default-prepare-agent-integration</id>
    						<goals>
    							<goal>prepare-agent-integration</goal>
    						</goals>
    					</execution>
    					<execution>
    						<id>default-report</id>
    						<goals>
    							<goal>report</goal>
    						</goals>
    					</execution>
    					<execution>
    						<id>default-report-integration</id>
    						<goals>
    							<goal>report-integration</goal>
    						</goals>
    					</execution>
    					<execution>
    						<id>default-check</id>
    						<goals>
    							<goal>check</goal>
    						</goals>
    						<configuration>
    							<rules>
    								<rule>
    									<element>BUNDLE</element>
    									<limits>
    										<limit>
    											<counter>COMPLEXITY</counter>
    											<value>COVEREDRATIO</value>
    											<minimum>0.60</minimum>
    										</limit>
    									</limits>
    								</rule>
    							</rules>
    						</configuration>
    					</execution>
    				</executions>
    			</plugin>
    

      执行mvn语句

    mvn install
    

      在 target/site/jacoco 中可以看到report

    最后,自有平台的jacoco的实际实现过程

  • 相关阅读:
    利用clear清除浮动的一些问题
    配置SpringBoot方便的切换jar和war
    java并发实战:连接池实现
    canvas绘制圆角头像
    对象的合并及拷贝
    JS数组去重
    浏览器端用JS实现创建和下载图片
    超过固定宽度(或行数)显示...(或省略)
    ssh实现免密登录
    Mac 日常使用问题收集
  • 原文地址:https://www.cnblogs.com/zhizhiyin/p/10374123.html
Copyright © 2011-2022 走看看