第一个问题 - 有什么方法可以验证特定的jar文件或类文件是否已使用cobertura进行检测?
第二个问题 - 如果跟踪ant scipt没问题,请告诉我。我没有得到任何输出。也没有仪表文件或cobertura.ser和build说好。
<project>
<property name="cobertura.dir" value="../cobertura-2.0.3" />
<property name="instrumented.dir" value="../destination" />
<property name="jars.dir" value="../basedir" />
<path id="cobertura.classpath">
<fileset dir="${cobertura.dir}">
<include name="cobertura-2.0.3.jar" />
<include name="lib/**/*.jar" />
</fileset>
</path>
<target name="instrument-classes">
<taskdef classpathref="cobertura.classpath" resource="tasks.properties" />
<delete file="cobertura.ser" />
<cobertura-instrument todir="${instrumented.dir}">
<fileset dir="${jars.dir}">
<include name="XXX.jar" />
</fileset>
<fileset dir="${jars.dir}">
<include name="YYYY.jar" />
</fileset>
</cobertura-instrument>
</target>
</project>
答案 0 :(得分:0)
您可以使用java反编译器查看已检测类中对net.sf.cobertura.xxx类的引用。您还可以使用一个简单的文本编辑器来接受可视化二进制文件(例如TextPad),如果仔细观察,您也会看到net.sf.cobertura引用(使用文本比较工具比较原始类和已检测的类)让它更明显)。
你的蚂蚁片段看起来还可以,除非可疑:
<property name="jars.dir" value="../basedir" />
也许你的意思是:
<property name="jars.dir" value="${basedir}/.." />
关键是:您应该验证嵌套文件集实际上是否包含文件,否则cobertura-instrument
任务不会完成任何操作。