2014-04-21 44 views
0

我使用的Cobertura 2.3.0從http://cobertura.github.io/cobertura/來分析我的測試覆蓋的項目,我得到一個獲得測試覆蓋率結果用Cobertura

Error: Could not find or load main class net.sourceforge.cobertura.instrument.Main 

當試圖從執行的Cobertura,instrument.bat命令行。我查看了這個批處理文件,它試圖從%COBERTURA_HOME%/ lib文件夾中加載幾個不存在的JAR文件。我手動下載了這些JAR,但遇到了其他奇怪的錯誤。

java.lang.IncompatibleClassChangeError: class net.sourceforge.cobertura.instrument.pass1.DetectIgnoredCodeClassVisitor has interface org.objectweb.asm.ClassVisitor as super class 

此版本是否可能未正確更新?我看不到任何其他方式使這項工作的方法。此外,是否有人知道工作測試覆蓋工具,最好是工作不同版本的Cobertura?

我試過Nounit和其他幾個,但還沒有得到我知道Cobertura可以產生的清潔輸出類型。

+0

你可以試試通過https://cobertura.ci.cloudbees.com/job/Cobertura/下載最新版本的cobertura嗎? – Steve

+0

@Steve謝謝你的回覆。我不熟悉詹金斯。我如何去從這個網站下載?如果它是源代碼?謝謝! – Kon

+0

那裏有「可以下載的列表」中的「Last Successful Artifacts」。您需要根據當前的設置獲取tar.gz,zip或SNAPSHOT.jar。 – Steve

回答

0

回答我自己的問題,希望它能幫助別人。

在撰寫本文時,Cobertura在某些情況下拋出ClassNotFoundException存在一個已知的錯誤。看到下面的問題跟蹤頁面:https://github.com/cobertura/cobertura/issues/74#issuecomment-41383903

目前,我已經用EclEmma Eclipse for EMMA插件來測試代碼覆蓋率,並且以我想要的方式獲得了漂亮的結果。

相關問題