Emma使用過程中遇到的 錯誤

          Posted on 2008-03-18 12:03 Robert Su 閱讀(1448) 評論(2)  編輯  收藏
           [report] nothing to do: no runtime coverage data found in any of the data files

          Ant與Emma集成的時候總提示這種錯誤。。。查了下Emma QA說是runtime與metadata


          源代碼如下,哪位遇到過這種問題。。

          <?xml version="1.0"?>
          <project name="Toccata Code Quality" default="init" basedir=".">
              

                  
              
          <property name="junitJar" value="lib/UT/junit.jar"/>
              
          <property name="emmaJar"  value="lib/UT/emma.jar"/>
                  
              
          <!-- 目錄配置 -->
              
          <property name="base.dir" location="."/>
              
              
          <property name="lib.dir" value="./lib"/>
              
          <path id="classpath.main">
                  
          <pathelement location="${build.src}" />
              
          </path>
              
          <property name="build.dest" value="./src/classes"/>
              
          <property name="build.test.bin" value="./src/classes/test"/>

              
              
          <property name="build.javadocs" value="./src/UT/doc"/>
              
          <property name="build.report" value="./report" />
              
          <property name="build.src" value="./src/UT/" />
              
          <property name="build.test" value="/src/UT/test" />
              
          <property name="build.instrument" location="./instrbin" />
              
          <property name="coverage.dir" location="${base.dir}/report/UT/coverage" />

              
          <property name="emma.enabled" value="true" />
              
          <!--指示需要注入字節碼的Java類的路徑-->
              
          <path id="classpath.main">
                  
          <pathelement location="${build.dest}" />
              
          </path>
              
              
          <path id="emma.lib">
                      
          <pathelement location="lib/UT/emma.jar" />
                      
          <pathelement location="lib/UT/emma_ant.jar" />
              
          </path>
              
              
          <taskdef resource="emma_ant.properties" classpathref="emma.lib" />

              
          <target name="init">
                  
          <mkdir dir="${build.instrument}"/>
                  
          <mkdir dir="report/UT/htmlreport"/>    
                  
          <mkdir dir="${build.dest}"/>
              
          </target>
                  
              
          <target name="compile" depends="init">
                      
          <javac destdir="${build.dest}" srcdir="${build.src}/ibm" debug="on">            
                          
          <classpath>
                              
          <pathelement location="${junitJar}"/>
                              
          <pathelement location="${emmaJar}"/>
                          
          </classpath>
                      
          </javac>
                      
          <copy todir="${build.dest}">
                          
          <fileset dir="${build.src}/ibm">
                              
          <include name="**/*.class"/>
                              
          <exclude name="**/*.java" />
                          
          </fileset>
                      
          </copy>
              
          </target>
              
              
          <target name="compile-test">
                  
          <mkdir dir="${build.test.bin}" />
                          
          <javac destdir="${build.test.bin}" debug="on">
                              
          <src path="${build.test}" />
                              
          <classpath location="${build.dest}">
                                  
          <pathelement location="${junitJar}"/>
                              
          </classpath>
                          
          </javac>
                          
          <copy todir="${build.test.bin}">
                              
          <fileset dir="${build.test}">
                                  
          <include name="**/*.class"/>
                                  
          <exclude name="**/*.java" />
                              
          </fileset>
                          
          </copy>
              
          </target>

              
              
              
          <!--對編譯在路徑build.src中的Java類注入字節碼, 并且把注入字節碼的新Java類存放到路徑build.instrument-->
              
          <!--覆蓋率的元數據存放在路徑coverage.dir中-->
              
          <!--插入字節碼-->
              
              
          <target name="instrument" depends="compile">
                      
          <emma enabled="${emma.enabled}">
                          
          <instr instrpathref="classpath.main" 
                                  destdir
          ="${build.instrument}" 
                                  metadatafile
          ="${coverage.dir}/metadata.emma" merge="true">
                              
                          
          </instr>
                      
          </emma>
                      
          <copy todir="${build.instrument}">
                              
          <fileset dir="${build.dest}">
                                  
          <include name="**/*.class" />
                                  
          <exclude name="**/*.java" />
                              
          </fileset>
                      
          </copy>
              
          </target>
              
              
          <target name="run" depends="compile">
                  
          <junit fork="true" forkmode="once">
                                  
                      
          <jvmarg value="-Demma.coverage.out.file = ${coverage.dir}/metadata.emma" />
                      
          <jvmarg value="-Demma.coverage.out.merge = true" />

                      
          <classpath>
                          
          <pathelement location="${build.src}/"/>
                          
          <pathelement location="${junitJar}"/>
                          
          <pathelement location="${emmaJar}"/>
                      
          </classpath>
                      
                      
          <formatter type="xml"/>
                      
          <!-- formatter用于格式化測試輸出結果 -->
                      
          <batchtest haltonfailure="no" todir="report">
                          
          <fileset dir="${build.test}">
                              
          <include name="**/*Test.java"/>
                          
          </fileset>
                      
          </batchtest>
                  
          </junit>
                  
          <junitreport todir="${build.report}/UT/htmlreport">
                      
          <fileset dir="./report" id="id">
                          
          <include name="*.xml"/>
                      
          </fileset>
                      
          <report todir="${build.report}/UT/htmlreport" format="frames" Styledir="./report/XSL">
                  
          </report>
                      
                  
          </junitreport>
                  
          <echo message="end running junit test"></echo>
              
          </target>


              
          <target name="coverage_report" depends="instrument,compile">
                      
          <!--如果屬性emma.enabled的值是true,就生成代碼覆蓋率報告 -->
                      
          <emma enabled="${emma.enabled}">
                          
          <report sourcepath="${build.src}/ibm"
                              sort
          ="+block,+name,+method,+class"
                              metrics
          ="method:70,block:80,line:80,class:100">
                              
                          
                              
          <fileset dir="${coverage.dir}">
                                  
          <include name="*.emma" />
                              
          </fileset>
                              
                              
          <html outfile="${coverage.dir}/coverage.html" />

                          
          </report>
                      
          </emma>
              
          </target>
              
              
              
          <!-- checkstyle -->
              
          <taskdef resource="checkstyletask.properties" classpath="lib/checkstyle/checkstyle-all-4.4.jar" />
              
          <target name="checkstyle_report">
                  
          <checkstyle config="conf/checkstyle/bpf_checks.xml">
                      
          <fileset dir="src" includes="**/*.java" />
                      
          <formatter type="plain" />
                      
          <formatter type="xml" toFile="report/checkstyle/checkstyle_errors.xml" />
                  
          </checkstyle>
                  
          <xslt in="report/checkstyle/checkstyle_errors.xml"
                      out
          ="report/checkstyle/checkstyle_report.html" 
                      style
          ="conf/checkstyle/checkstyle-frames.xsl" />
              
          </target>

          </project>




          Feedback

          # re: Emma使用過程中遇到的 錯誤  回復  更多評論   

          2008-03-20 10:39 by Robert Su
          找到了~
          <formatter type="xml"/>
          <!-- formatter用于格式化測試輸出結果 -->
          <batchtest haltonfailure="no" todir="report">
          <fileset dir="${build.test}">
          <include name="**/*Test.java"/>
          </fileset>
          </batchtest>
          </junit>

          錯誤在<fileset dir="${build.test}">中,路徑沒有指明清楚

          # re: Emma使用過程中遇到的 錯誤  回復  更多評論   

          2014-08-06 09:25 by 我不愛吃魚丸
          沒太看明白。。能說詳細點么

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          posts - 103, comments - 104, trackbacks - 0, articles - 5

          Copyright © Robert Su

          主站蜘蛛池模板: 兴隆县| 汉阴县| 西贡区| 镇坪县| 蒙山县| 高邮市| 松潘县| 邵武市| 新乡县| 昌都县| 鄯善县| 扬州市| 巴楚县| 嘉义县| 宣威市| 兴义市| 安图县| 延津县| 石楼县| 卓资县| 方山县| 西藏| 璧山县| 招远市| 两当县| 和田县| 历史| 北流市| 循化| 聂荣县| 灌南县| 西安市| 新巴尔虎右旗| 永兴县| 三原县| 巴楚县| 和硕县| 清远市| 邯郸县| 法库县| 仲巴县|