如何检查类文件或jar文件是否已检测?

时间:2014-01-06 20:41:58

标签: code-coverage instrumentation cobertura

第一个问题 - 有什么方法可以验证特定的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>

1 个答案:

答案 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任务不会完成任何操作。