(一)使用 EMMA 测量测试覆盖率

发表于:2007-8-07 14:08

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:梁衍轩 钱建平    来源:网络转载

        下面,我们开始来为我们的工程编写 Ant 脚本。
清单1设置一些属性,包括源文件,二进制文件,JUnit 报告,覆盖率报告等的路径
 
 <!-设置Java类被注入字节码后存放的路径-->
 <property name="bin.instrument.dir" location="../instrbin" />
 <!-设置覆盖率元数据和报告的路径-->
 <property name="coverage.dir" location="../coverage" />
 <!--设置junit报告的路径 -->
 <property name="junitReport.dir" location="../junitReport" />
 <!-设置主题代码bin路径-->
 <property name="bin.main.dir" location="../srcbin" />
 <!-设置测试代码bin路径-->
 <property name="bin.test.dir" location="../testbin" />
 <!--设置主题代码源路径-->
 <property name="src.main.dir" location="../../SampleProject/src" />
 <!--设置测试代码源路径-->
 <property name="src.test.dir" location="../../SampleProjectTest/test"
 />
 <!-指示需要注入字节码的Java类的路径-->
 <path id="classpath.main">
  <pathelement location="${bin.main.dir}" />
 </path>
 <!-指示 emma.jar 和emma_ant.jar 的路径-->
 <path id="emma.lib">
  <pathelement location="${libs}/emma.jar" />
  <pathelement location="${libs}/emma_ant.jar" />
 </path>
 <!-允许emma-->
 <property name="emma.enabled" value="true" />
  
        其中目录${ bin.instrument.dir }存放被注入字节码的类,"emma.lib" 指向 emma 资源所在的位置。


清单2为 ANT 定义 EMMA 任务
 <!-为ANT添加EMMA任务-->
 <taskdef resource="emma_ant.properties" classpathref="emma.lib" />
 
清单3编译源代码和测试代码
  <target name="compile-src.main">
  <mkdir dir="${bin.main.dir}" />
  <javac destdir="${bin.main.dir}" debug="on">
   <src path="${src.main.dir}" />
  </javac>
  <copy todir="${bin.main.dir}">
   <fileset dir="${src.main.dir}">
   <exclude name="**/*.java" />
   </fileset>
  </copy>
 </target>

 <target name="compile-src.test">
  <mkdir dir="${bin.test.dir}" />
  <javac destdir="${bin.test.dir}" debug="on">
   <src path="${src.test.dir}" />
   <classpath location="${bin.main.dir}" />
  </javac>
  <copy todir="${bin.test.dir}">
   <fileset dir="${src.test.dir}">
    <exclude name="**/*.java" />
   </fileset>
  </copy>
 </target>
  
        编译分两阶段,先编译源代码,然后再编译测试用例代码。

42/4<1234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号