Jacoco覆盖率信息收集2

来源:互联网 发布:linux mount程序 编辑:程序博客网 时间:2024/06/05 22:54

当一个函数的信息收集完毕,如何将其MethodCoverageImpl添加到类信息中ClassCoverageImpl

//指令for循环完毕,执行MethodAnalyzer coverage.incrementMethodCounter();[jacoco:report] MethodCoverageImpl incrementMethodCounter   //计算getCoveredcoune 不等于0,说明该函数有指令被执行,设置base=CounterImpl.COUNTER_0_1[jacoco:report] CounterImpl getCoveredCount 7//根据base对methodCounter增量(原来是00)[jacoco:report] MethodCoverageImpl incrementMethodCounter   methodCounter[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 1[jacoco:report]  CounterImpl Fix increment missed+covered01[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]01//对complexityCounter,进行增量[jacoco:report] MethodCoverageImpl incrementMethodCounter   complexityCounter[jacoco:report] CounterImpl increment(final ICounter counter) //传递过来的是01[jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 1[jacoco:report]  CounterImpl Fix increment missed+covered01[jacoco:report] CounterImpl getInstance missed covered//原来是10,之前有个if判断,所以现在变成了11[jacoco:report]  CounterImpl getInstance SINGLETONS[][]11//MethodAnalyzerz执行完毕,下面回到ClassaAnalyzer中//回到visitMethod中,if (methodCoverage.getInstructionCounter().getTotalCount() > 0) 判断调用[jacoco:report] ClassAnalyzer getCoverage[jacoco:report] MethodAnalyzer getCoverage//下面进入ClassCoverageImpl中addMethod(final IMethodCoverage method)函数//其increment(method)调用SourceNodeImpl中increment(final ISourceNode child)函数//在SourceNodeImpl中//下面对各个counter进行increment//getInstructionCounter[jacoco:report] CoverageNodeImpl getInstructionCounter[jacoco:report] CounterImpl getTotalCount   11[jacoco:report] ClassAnalyzer coverage.addMethod[jacoco:report] ClassCoverageImpl addMethod[jacoco:report] SourceNodeImpl iincrement(final ISourceNode child)  [jacoco:report] CoverageNodeImpl getInstructionCounter[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  4[jacoco:report] CounterImpl getCoveredCount 7[jacoco:report]  CounterImpl Fix increment missed+covered47[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]418//getBranchCounter[jacoco:report] CoverageNodeImpl getBranchCounter[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  1[jacoco:report] CounterImpl getCoveredCount 1[jacoco:report]  CounterImpl Fix increment missed+covered11[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]11//getComplexityCounter[jacoco:report] CoverageNodeImpl getComplexityCounter[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  1[jacoco:report] CounterImpl getCoveredCount 1[jacoco:report]  CounterImpl Fix increment missed+covered11[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]12//getMethodCounter[jacoco:report] CoverageNodeImpl getMethodCounter[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 1[jacoco:report]  CounterImpl Fix increment missed+covered01[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]02//getClassCounter[jacoco:report] CoverageNodeImpl getClassCounter[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report]  CounterImpl Fix increment missed+covered00[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]01//下面是if判断//判断firstLine != UNKNOWN_LINE[jacoco:report] SourceNodeImpl getFirstLine 11[jacoco:report] SourceNodeImpl iincrement(final ISourceNode child)  firstLine != UNKNOWN_LINE[jacoco:report] SourceNodeImpl getLastLine  //进入ensureCapacity,更新行数[jacoco:report] SourceNodeImpl  ensureCapacity else[jacoco:report] SourceNodeImpl getFirstLine 4[jacoco:report] SourceNodeImpl getLastLine  //进入if (newLength > lines.length)[jacoco:report] SourceNodeImpl  ensureCapacity 更新lines长度//ensureCapacity函数执行结束//其实这个child应该是MethodCoverageImpl//为每一行分别进行increment[jacoco:report] SourceNodeImpl iincrement(final ISourceNode child)  for[jacoco:report] SourceNodeImpl getLine  11[jacoco:report] SourceNodeImpl getFirstLine 11[jacoco:report] SourceNodeImpl getLastLine  [jacoco:report] LineImpl ICounter getInstructionCounter()[jacoco:report] LineImpl ICounter getBranchCounter()[jacoco:report] SourceNodeImpl incrementLine[jacoco:report] SourceNodeImpl  ensureCapacity else[jacoco:report] SourceNodeImpl getFirstLine 4[jacoco:report] SourceNodeImpl getLastLine  [jacoco:report] SourceNodeImpl getLine  11[jacoco:report] SourceNodeImpl getFirstLine 4[jacoco:report] SourceNodeImpl getLastLine  [jacoco:report] LineImpl ICounter getInstructionCounter()[jacoco:report] CounterImpl getTotalCount   0[jacoco:report] LineImpl ICounter getInstructionCounter()[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report] LineImpl Fix increment[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 3[jacoco:report]  CounterImpl Fix increment missed+covered03[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]03[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  1[jacoco:report] CounterImpl getCoveredCount 1[jacoco:report]  CounterImpl Fix increment missed+covered11[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]11[jacoco:report] LineImpl getInstance[jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 3[jacoco:report] CounterImpl getMissedCount  1[jacoco:report] CounterImpl getCoveredCount 1[jacoco:report] CounterImpl getTotalCount   3[jacoco:report] CounterImpl getCoveredCount 3[jacoco:report] 22[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 1[jacoco:report]  CounterImpl Fix increment missed+covered01[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]05[jacoco:report] SourceNodeImpl iincrement(final ISourceNode child)  for[jacoco:report] SourceNodeImpl getLine  12[jacoco:report] SourceNodeImpl getFirstLine 11[jacoco:report] SourceNodeImpl getLastLine  [jacoco:report] LineImpl ICounter getInstructionCounter()[jacoco:report] LineImpl ICounter getBranchCounter()[jacoco:report] SourceNodeImpl incrementLine[jacoco:report] SourceNodeImpl  ensureCapacity else[jacoco:report] SourceNodeImpl getFirstLine 4[jacoco:report] SourceNodeImpl getLastLine  [jacoco:report] SourceNodeImpl getLine  12[jacoco:report] SourceNodeImpl getFirstLine 4[jacoco:report] SourceNodeImpl getLastLine  [jacoco:report] LineImpl ICounter getInstructionCounter()[jacoco:report] CounterImpl getTotalCount   0[jacoco:report] LineImpl ICounter getInstructionCounter()[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report] LineImpl Fix increment[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  4[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report]  CounterImpl Fix increment missed+covered40[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]40[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report]  CounterImpl Fix increment missed+covered00[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]00[jacoco:report] LineImpl getInstance[jacoco:report] CounterImpl getMissedCount  4[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report] CounterImpl getTotalCount   4[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report] 11[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  1[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report]  CounterImpl Fix increment missed+covered10[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]15[jacoco:report] SourceNodeImpl iincrement(final ISourceNode child)  for[jacoco:report] SourceNodeImpl getLine  13[jacoco:report] SourceNodeImpl getFirstLine 11[jacoco:report] SourceNodeImpl getLastLine  [jacoco:report] LineImpl ICounter getInstructionCounter()[jacoco:report] LineImpl ICounter getBranchCounter()[jacoco:report] SourceNodeImpl incrementLine[jacoco:report] SourceNodeImpl  ensureCapacity else[jacoco:report] SourceNodeImpl getFirstLine 4[jacoco:report] SourceNodeImpl getLastLine  [jacoco:report] SourceNodeImpl getLine  13[jacoco:report] SourceNodeImpl getFirstLine 4[jacoco:report] SourceNodeImpl getLastLine  [jacoco:report] LineImpl ICounter getInstructionCounter()[jacoco:report] CounterImpl getTotalCount   0[jacoco:report] LineImpl ICounter getInstructionCounter()[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report] LineImpl Fix increment[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report]  CounterImpl Fix increment missed+covered00[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]00[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report]  CounterImpl Fix increment missed+covered00[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]00[jacoco:report] LineImpl getInstance[jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report] CounterImpl getTotalCount   0[jacoco:report] SourceNodeImpl iincrement(final ISourceNode child)  for[jacoco:report] SourceNodeImpl getLine  14[jacoco:report] SourceNodeImpl getFirstLine 11[jacoco:report] SourceNodeImpl getLastLine  [jacoco:report] LineImpl ICounter getInstructionCounter()[jacoco:report] LineImpl ICounter getBranchCounter()[jacoco:report] SourceNodeImpl incrementLine[jacoco:report] SourceNodeImpl  ensureCapacity else[jacoco:report] SourceNodeImpl getFirstLine 4[jacoco:report] SourceNodeImpl getLastLine  [jacoco:report] SourceNodeImpl getLine  14[jacoco:report] SourceNodeImpl getFirstLine 4[jacoco:report] SourceNodeImpl getLastLine  [jacoco:report] LineImpl ICounter getInstructionCounter()[jacoco:report] CounterImpl getTotalCount   0[jacoco:report] LineImpl ICounter getInstructionCounter()[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report] LineImpl Fix increment[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 3[jacoco:report]  CounterImpl Fix increment missed+covered03[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]03[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report]  CounterImpl Fix increment missed+covered00[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]00[jacoco:report] LineImpl getInstance[jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 3[jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report] CounterImpl getTotalCount   3[jacoco:report] CounterImpl getCoveredCount 3[jacoco:report] 22[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 1[jacoco:report]  CounterImpl Fix increment missed+covered01[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]16[jacoco:report] SourceNodeImpl iincrement(final ISourceNode child)  for[jacoco:report] SourceNodeImpl getLine  15[jacoco:report] SourceNodeImpl getFirstLine 11[jacoco:report] SourceNodeImpl getLastLine  [jacoco:report] LineImpl ICounter getInstructionCounter()[jacoco:report] LineImpl ICounter getBranchCounter()[jacoco:report] SourceNodeImpl incrementLine[jacoco:report] SourceNodeImpl  ensureCapacity else[jacoco:report] SourceNodeImpl getFirstLine 4[jacoco:report] SourceNodeImpl getLastLine  [jacoco:report] SourceNodeImpl getLine  15[jacoco:report] SourceNodeImpl getFirstLine 4[jacoco:report] SourceNodeImpl getLastLine  [jacoco:report] LineImpl ICounter getInstructionCounter()[jacoco:report] CounterImpl getTotalCount   0[jacoco:report] LineImpl ICounter getInstructionCounter()[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report] LineImpl Fix increment[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report]  CounterImpl Fix increment missed+covered00[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]00[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report]  CounterImpl Fix increment missed+covered00[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]00[jacoco:report] LineImpl getInstance[jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report] CounterImpl getTotalCount   0[jacoco:report] SourceNodeImpl iincrement(final ISourceNode child)  for[jacoco:report] SourceNodeImpl getLine  16[jacoco:report] SourceNodeImpl getFirstLine 11[jacoco:report] SourceNodeImpl getLastLine  [jacoco:report] LineImpl ICounter getInstructionCounter()[jacoco:report] LineImpl ICounter getBranchCounter()[jacoco:report] SourceNodeImpl incrementLine[jacoco:report] SourceNodeImpl  ensureCapacity else[jacoco:report] SourceNodeImpl getFirstLine 4[jacoco:report] SourceNodeImpl getLastLine  [jacoco:report] SourceNodeImpl getLine  16[jacoco:report] SourceNodeImpl getFirstLine 4[jacoco:report] SourceNodeImpl getLastLine  [jacoco:report] LineImpl ICounter getInstructionCounter()[jacoco:report] CounterImpl getTotalCount   0[jacoco:report] LineImpl ICounter getInstructionCounter()[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report] LineImpl Fix increment[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 1[jacoco:report]  CounterImpl Fix increment missed+covered01[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]01[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report]  CounterImpl Fix increment missed+covered00[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]00[jacoco:report] LineImpl getInstance[jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 1[jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 0[jacoco:report] CounterImpl getTotalCount   1[jacoco:report] CounterImpl getCoveredCount 1[jacoco:report] 22[jacoco:report] CounterImpl increment(final ICounter counter) [jacoco:report] CounterImpl getMissedCount  0[jacoco:report] CounterImpl getCoveredCount 1[jacoco:report]  CounterImpl Fix increment missed+covered01[jacoco:report] CounterImpl getInstance missed covered[jacoco:report]  CounterImpl getInstance SINGLETONS[][]17[jacoco:report] CounterImpl getCoveredCount 2//整个执行结束,返回ClassCoverageImpl中addMethod函数
原创粉丝点击