2
我有一個項目,其中有emma代碼覆蓋腳本(使用ant)構建並正確生成測試。過濾來自Emma代碼覆蓋率報告的junit測試類
我有兩個包 com.myproject.abc test.com.myproject.abc
所有JUnit測試都在test.com.mywebsite.abc包。我的目標是不包含報告中包含的test.com.myproject.abc包(coverage.xml)。我已經閱讀了有關覆蓋過濾器的emma文檔,並查看了其他幾個示例,但是如果不在測試中包含junit測試,就無法使其工作。
如果我將篩選器包含在檢測目標中......它不會檢測用於junit測試的junit類。結果是一個classNotFoundException。
這是我的代碼。
<target name="emma-instrument" depends="clean" description="instruments the code">
<emma enabled="true">
<instr instrpath="${classes}" destdir="${emma.instr.dir}"
metadatafile="${emma.coverage.dir}/coverage.emma" merge="true" >
<filter excludes="test.com.myproject.abc"/>
</instr>
</emma>
</target>
當儀表發生時,它移動所有的儀表類艾瑪/儀器的 - 這是包含在類路徑。
<target name="test" depends="test_preconditions" description="run junit tests">
<junit fork="yes" printsummary="yes" haltonfailure="yes">
<classpath refid="test.classpath" />
<formatter type="plain" usefile="false" />
<batchtest>
<fileset dir="${classes}">
<include name="**/*Test*"/>
</fileset>
</batchtest>
<jvmarg value="-Demma.coverage.out.file=${emma.coverage.dir}/coverage.emma" />
<jvmarg value="-Demma.coverage.out.merge=true" />
<jvmarg value="-XX:-UseSplitVerifier"/>
</junit>
</target>
所以只是重複 - 是否有可能從Emma Coverage報告中排除JUNIT測試?我需要改變什麼?提前致謝。
我正在使用emma 2.1(代碼覆蓋率),java和ant。
這對我有效。 – TechCrunch 2015-04-02 22:03:43