首页 > 其他 > 详细

Jacoco统计白盒测试覆盖率(基于maven)

时间:2017-01-22 14:48:51      阅读:225      评论:0      收藏:0      [点我收藏+]

你写的东西覆盖了我多少的代码量?
原理: 自动插桩

JVM中通过-javaagent参数指定特定的jar文件启动代理程序,代理程序在通过Class Loader装载一个class前判断是否转换修改class文件,将统计代码插入class,测试覆盖率分析可以在JVM执行测试代码的过程中完成。

效果:

技术分享

 

基于maven,在server test里面编写白盒测试代码,在pom文件加入下面的build信息,run as install

<build>    
    <plugins> 
    
     <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-surefire-plugin</artifactId>
       <configuration>
         <includes>
            <include>**/*BaseDaoTest.java</include>        
         </includes>
         <excludes>
           <exclude>**/Abstract*.java</exclude>
         </excludes>
       </configuration>
     </plugin> 
    
    <plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>0.5.3.201107060350</version>
    <executions>
    
     <execution>
      <goals>
       <goal>
        prepare-agent
       </goal>
      </goals>
     </execution>
     
     <execution>
      <id>JaCoCo Report</id>
      <phase>prepare-package</phase>
      <goals>
       <goal>
        report
       </goal>
      </goals>
     </execution>
     
    </executions>
   </plugin>
   </plugins> 
  </build> 

 

具体报告,可以帮助我们分析哪里覆盖率做的不好,去优化我们的白盒测试代码,覆盖:

target/site/jacoco/index.html

行覆盖率:度量被测程序的每行代码是否被执行,判断标准行中是否至少有一个指令被执行。
类覆盖率:度量计算class类文件是否被执行。
分支覆盖率:度量if和switch语句的分支覆盖情况,计算一个方法里面的总分支数,确定执行和不执行的 分支数量。

技术分享

 

Jacoco统计白盒测试覆盖率(基于maven)

原文:http://www.cnblogs.com/season-xie/p/6340026.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!