在使用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的庫文件。
解決的方法是:
ant with.clover build.clean build.compile junit.test cactus.test
需要重新編譯生成clover庫文件。
這樣就生成庫文件了。
ant clover.html
就可以生成報告了。
clover的使用,有一個非常重要的注意點:
The <clover-setup> task, must be called before compiling the sources. If the "with.clover" target is not called before "code" (compile) in the same invocation of Ant, the effect of clover-setup will lost. i.e. javac does not know to use the Clover compiler to instrument your source files before compiling them. It will not create the database and generate class file for clover use, hence clover will not take effect.
|----------------------------------------------------------------------------------------|
版權聲明 版權所有 @zhyiwww
引用請注明來源 http://www.tkk7.com/zhyiwww
|----------------------------------------------------------------------------------------|
posted on 2010-12-01 08:55
zhyiwww 閱讀(941)
評論(1) 編輯 收藏 所屬分類:
j2ee 、
軟件測試