zhyiwww
          用平實的筆,記錄編程路上的點點滴滴………
          posts - 536,comments - 394,trackbacks - 0
          在使用ant+clover的時候,經常碰到下面的異常:
          BUILD FAILED
          com.atlassian.clover.registry.NoSuchRegistryException: Clover registry file "/tmp/clover-db/ant-coverage.db" does not exist, cannot be read or is a directory.
          Please ensure Clover has instrumented your source files.
          You may need to remove existing .class files for this to occur.
              at com.cenqua.clover.CloverDatabase.<init>(CloverDatabase.java:82)
              at com.cenqua.clover.CloverDatabase.<init>(CloverDatabase.java:60)
              at com.cenqua.clover.reporters.CloverReportConfig.getCoverageDatabase(CloverReportConfig.java:329)
              at com.cenqua.clover.reporters.Current.getCoverageDatabase(Current.java:126)
              at com.cenqua.clover.reporters.xml.XMLReporter.<init>(XMLReporter.java:52)
              at com.cenqua.clover.reporters.CloverReporter.buildReporter(CloverReporter.java:70)
              at com.cenqua.clover.tasks.CloverReportTask.generateReports(CloverReportTask.java:428)
              at com.cenqua.clover.tasks.CloverReportTask.cloverExecute(CloverReportTask.java:385)
              at com.cenqua.clover.tasks.CloverHtmlReportTask.cloverExecute(CloverHtmlReportTask.java:108)
              at com.cenqua.clover.tasks.AbstractCloverTask.execute(AbstractCloverTask.java:55)
              at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
              at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:616)
              at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
              at org.apache.tools.ant.Task.perform(Task.java:348)
              at org.apache.tools.ant.Target.execute(Target.java:357)
              at org.apache.tools.ant.Target.performTasks(Target.java:385)
              at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
              at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
              at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
              at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
              at org.apache.tools.ant.Main.runBuild(Main.java:758)
              at org.apache.tools.ant.Main.startAnt(Main.java:217)
              at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
              at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)

          Total time: 56 seconds

          這個錯誤是因為,沒有生成clover記錄數據庫造成的。
          經過多次的實驗,發現用下面的方法可以解決:
              <target name="clover.with" depends="clover.tasks">
                  <delete file="${clover.db.file}"/>
                  <clover-instr initstring="${clover.db.file}" srcdir="${src.dir}" destdir="${clover.tmp.dir}"></clover-instr>
              </target>
              
              <target name="clover.compile">
                  <javac     srcdir="${clover.tmp.dir}"  
                      destdir="${classes.dir}"
                      encoding="UTF-8"
                      includeantruntime="true"
                      failonerror="true"
                      verbose="false"
                      compiler="modern"
                      fork="true"
                      target="1.6"
                      nowarn="true">
                      <classpath refid="build.lib"/>
                  </javac>
              
              </target>

          這個地方,把clover.compile獨立出來編譯。有一個關鍵的地方是在粗體的部分,要指定一個臨時目錄,用來存放添加了stub的java類,也就說,獨立一個地方存放插了樁的java類,然后對其編譯,這樣就能在后續的junit.test.only任務執行的時候生成clover記錄數據庫了。
          希望對使用clover的朋友能有所幫助。





          |----------------------------------------------------------------------------------------|
                                     版權聲明  版權所有 @zhyiwww
                      引用請注明來源 http://www.aygfsteel.com/zhyiwww   
          |----------------------------------------------------------------------------------------|
          posted on 2010-12-14 15:19 zhyiwww 閱讀(572) 評論(0)  編輯  收藏 所屬分類: 軟件測試linux
          主站蜘蛛池模板: 清新县| 大兴区| 当雄县| 林周县| 广东省| 中宁县| 兴城市| 随州市| 东兰县| 华池县| 剑河县| 太康县| 盘山县| 伊吾县| 疏勒县| 临朐县| 宣武区| 合肥市| 澳门| 铜川市| 达尔| 新乡县| 萝北县| 石屏县| 阿鲁科尔沁旗| 贞丰县| 科尔| 曲周县| 永州市| 安顺市| 碌曲县| 临汾市| 公安县| 应城市| 大英县| 永兴县| 阳谷县| 大悟县| 北宁市| 宜兰市| 全州县|