<merge>,整合多个由jcoverage产生的输出文件。整个jcoverage实际的运作过程是:首先,jcoverage给测试类注入指令产生新类,被注入指令的类在junit运行过程中产生输出文件(后缀为ser),最后根据输出文件产生报告。如果有多个输出文件,jcoverage提供了<merge>来整合这些文件,最后,从整合文件中产生整体报告。用法:
<merge>
<fileset dir="${basedir}">
<include name="**/jcoverage.ser"/>
</fileset>
</merge>
- <check>,检查测试是否达到设定的标准,它可以和<report>配合使用。使用例子:
例1 :
<check branch="95" line="95"/>,意思是分支覆盖率需要达到95%,行覆盖率达到95%。
例2
<check branch="95" line="95">
<regex pattern="xptoolkit.jcoverage.*" branch="85" line="95"/>
</check>
包名符合xptoolkit.jcoverage.*模式的分支覆盖率达到85%,行覆盖率达到95%其余的分支覆盖率需要达到95%,行覆盖率达到95%。
检查表在使用jcoverage时需要注意的问题:
- 被jcoverage注入指令的类必须是在debug模式下编译的类。建议将那些使用debug模式编译的类的存放与最终的产品的目录分开。
- 使用了<instrument>的类,与源类的目录也最好分开。
- 对于那些使用了AOP(如AspectJ)技术的项目,jcoverage不能很好的应用到那些已经添加了Aspect信息的类。
- 代码覆盖工具只是给出了指导性的意见,不要过分依赖和相信它的结果。
文章来源于领测软件测试网 https://www.ltesting.net/