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的实际实现过程

  • 相关阅读:
    WPF-学习笔记 将控件添加到Grid中的指定行指定列
    WPF 学习笔记-在WPF下创建托盘图标
    WPF-学习笔记 动态修改控件Margin的值
    WPF-学习笔记 按下鼠标拖动窗口
    WPF 学习笔记-判断动画完成的画件
    WPF 学习笔记-跨线程引用控件
    WPF 学习笔记-设置属性使窗口不可改变大小
    C语言博客作业02循环结构
    C语言博客作业03函数
    C语言博客作业01分支、顺序结构
  • 原文地址:https://www.cnblogs.com/zhizhiyin/p/10374123.html
Copyright © 2011-2022 走看看