解决办法:
定义target,向生成的java.class里插入instrumentation,test.class将不插入instrumentation,因为我们不关心测试用例本身的覆盖率。
- <!--Removethecoveragedatafileandanyoldinstrumentationclasses-->
- <deletefile="cobertura.ser"/>
- <deletedir="${instrumented.classes.dir}"/>
- <!--Instrumenttheapplicationclasses,writingtheinstrumentedclassesinto${instrumented.classes.dir}-->
- <cobertura-instrumenttodir="${instrumented.classes.dir}">
- <!--Thefollowinglinecausesinstrumenttoignoreanysourcelinecontainingareferencetolog4j,forthepurposeofcoveragereporting-->
- <ignoreregex="org.apache.log4j.*"/>
- <filesetdir="${src.java.classes.dir}">
- <includename="**/*.class"/>
- </fileset>
- </cobertura-instrument>
- </target>
本文介绍了一种在Java应用中通过Cobertura进行代码覆盖率增强的方法,并详细解释了如何在生成的class文件中插入instrumentation,同时避免测试用例的覆盖率计算,以提高代码分析的准确性。
964

被折叠的 条评论
为什么被折叠?



