• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

JCoverage使用

发布: 2009-3-31 09:49 | 作者: 不详 | 来源: 测试时代采编 | 查看: 81次 | 进入软件测试论坛讨论

领测软件测试网

</path>

<taskdef classpathref="jcoverage" resource="tasks.properties"/>

<!-- 给被测试类二进制代码中注入jcoverage的指令 -->

<instrument todir="${dist.coverage.instrument}">

        <classpath refid="classpath"/>

    <!-- 忽略org.apache.common的应用 -->

    <ignore regex="org.apache.common.*"/>



    <fileset dir="${dist.coverage.classes} ">

        <include name="**/*.class"/>

    </fileset>

</instrument>

<!-- 启动junit,进行代码覆盖测试 -->

<junit printsummary="yes" haltonfailure="no" fork="yes">

    <classpath>

        <!-- 注意:被注入指令的类,位置在测试类之前。

这样确保它们早于测试类备加载,使指令起作用。 -->

        <pathelement location="${dist.coverage.instrument}"/>

        <path refid="classpath"/>

        <pathelement location="${dist. coverage.junit}"/>

    </classpath>



    <formatter type="xml"/>



        <batchtest todir="${doc.jcoverageReport}">

         <fileset dir="${src.junit}" includes="**/*Test.java" />

     </batchtest>

</junit>

<!-- 产生代码覆盖测试报告 -->

<report srcdir="${src.code}" destdir="${doc.jcoverageReport}">

3.       jcoverage提供的ant任务标签有:

-          <instrument>,在类的二进制文件中注入jcoverage指令。注意:一定是debug模式下编译的类。

-          <report>,产生jcoverage报告,默认格式是HTML。也可以产生XML格式方便应用客户自定义的xslt产生其他格式的报告。产生XML格式的报告:

<report srcdir="${src.code}" destdir="${doc.jcoverageReport}" format="xml">

-          <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/

22/2<12

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网