
CodeCoverage
ohcezzz
这个作者很懒,什么都没留下…
展开
-
Java代码覆盖工具
Code Coverage1. Introduction 代码覆盖(code coverage):为了全面地覆盖测试,必须测试程序的状态以及程序流程,设法进入和退出每一个模块,执行每一行代码,进入软件每一条逻辑和决策分支。——[Software Testing] Code coverage is An information on what source code is exercis原创 2017-10-15 13:07:47 · 3083 阅读 · 0 评论 -
自定义Ant
继承Task类这里需要实现excute方法,我们在这里调用函数,而不是在构造函数中(回返回null)。import org.apache.tools.ant.Task;import org.apache.tools.ant.BuildException;import org.apache.tools.ant.Project;public class HelloWorld extends Ta原创 2017-07-23 23:25:55 · 280 阅读 · 0 评论 -
Jacoco覆盖率信息收集4-bundle之后
在得到bundle之后,会将bundle传入HTMLFormatter,依次产生bundlePage,SessionPage,PackageSourcePage,SourceFilePage,ClassPage,它们都是在ReportPage中render,具体覆盖信息在BarColumn中,得到各个层级传递过来的参数取得Counter,例:final ICounter counter = tot原创 2017-11-18 16:07:26 · 748 阅读 · 0 评论 -
Jacoco覆盖率信息收集-得到各个Counter信息
以bundle为界,之后则是根据bundle中的信息来各级render,生个各个html界面。 这里直接以TXT输出各个覆盖率信息。 //尝试直接输出覆盖率 ICounter bCounter=bundle.getCounter(CounterEntity.INSTRUCTION); System.out.println("bundle total:原创 2017-11-18 15:59:18 · 1869 阅读 · 0 评论 -
Jacoco覆盖率信息收集3-class级向上
接Jacoco覆盖率信息收集2,method级覆盖信息添加到class级中后,如何将class级别的覆盖信息继续向上increment。//ClassCoverageImpl的addmethod函数,最后设置this.classCounter = CounterImpl.COUNTER_0_1;[jacoco:report] ClassCoverageImpl addMethod methodC原创 2017-11-17 18:51:31 · 838 阅读 · 0 评论 -
Jacoco收集覆盖率信息函数MethodAnalyzer分析1
jacoco收集覆盖率信息最小单元是在MethodAnalyzer中进行分析,其对每一个指令进行判断,在visitend后对每一个指令进行一系列的操作(在一个for循环中),下面通过log判断其对一直指令的执行过程。以iload_1为例://该指令执行情况[jacoco:report] MethodAnalyzer i.getBranches(): 1[jacoco:report] Metho原创 2017-11-16 20:30:35 · 859 阅读 · 1 评论 -
Jacoco覆盖率信息收集1
当开始生成报告,首先是进行覆盖率信息的收集,进入ReportTask类中进行Buildfile: E:\Jacoco\build-.xmlclean: [delete] Deleting directory E:\Jacoco\targetcompile: [mkdir] Created dir: E:\Jacoco\target\classes [javac] Compi原创 2017-11-17 15:48:09 · 895 阅读 · 0 评论 -
Jacoco覆盖率信息收集2
当一个函数的信息收集完毕,如何将其MethodCoverageImpl添加到类信息中ClassCoverageImpl中//指令for循环完毕,执行MethodAnalyzer coverage.incrementMethodCounter();[jacoco:report] MethodCoverageImpl incrementMethodCounter //计算getCoveredco原创 2017-11-17 15:02:37 · 961 阅读 · 0 评论 -
代码覆盖工具Jacoco使用示例及源码分析
Jacoco项目主页:http://www.eclemma.org/jacoco/ 本文地址:JacocoAnalyseContent调用的开源框架 AntASM测试源码对比 插入前源码插入后源码插入前字节码插入后字节码两种插桩模式 插桩方式OfflineOn-the-fly比较关于switch插桩分析 TableSwitchLookupswitchReport生原创 2017-11-01 17:07:01 · 27629 阅读 · 7 评论 -
字节码操纵框架ASM分析
本文地址ASM字节码操纵框架ASMJacoco注入探针来进行覆盖率分析,主要使用的是ASM库。ASM是Java字节码操纵框架,它能够读取class文件,改变类行为,分析类信息,甚至能够生成自定义的新类。ASM中核心类ClassReader:该类用来解析字节码class文件,具体可以直接由字节组或者class文件间接的获得字节码数据。可以调用accept方法,这个方法接受一个实现了ClassVisi原创 2017-11-01 17:10:14 · 6520 阅读 · 0 评论