2016-11-25 212 views
1

我必須編寫一個.sh啓動一個覆蓋Jacoco的UI應用程序。退出時,必須生成一個jacoco報告。Jacoco在命令行中的報告

我不能夠生成這個簡單的命令jacoco.exec:

java -jar ../binaries/editor.debug/application.jar -javaagent:/atgl/products/jacoco/0.6.3/lib/jacocoagent.jar=destfile=jacoco.exec 

命令的第一部分工作正常,並啓動該程序,但-javaagent選項不會生成報告並且該程序不會啓動。 如果我做了一個語法錯誤,它是完全一樣的行爲。

我的命令有什麼問題?

其次,這個命令創建一個.exec文件。如何在命令行中生成.html報告?

回答

1

問題在於-javaagent選項的位置。它需要處於第一個位置,像這樣:

java -javaagent:/atgl/products/jacoco/0.6.3/lib/jacocoagent.jar=destfile=jacoco.exec -jar ../binaries/editor.debug/application.jar 

然後,Godin說,不可能在命令行生成報告。我創建了一個螞蟻文件exectoreport.xml與規則do_jacoco_reports。該規則由腳本exectoreport.sh啓動,必須​​在應用程序自然退出後調用。

1

JaCoCo的使用涉及兩個步驟 - 收集覆蓋信息和生成報告。因此,您的命令沒有任何問題 - 它將覆蓋信息收集到.exec文件中。在此之後,您可以使用AntMaven生成報告,或者使用JaCoCo APIs生成您自己的報告生成器 - JaCoCo尚未提供用於生成報告的開箱即用的命令行界面,但有一個example of API usage for report generation

+1

感謝您的回答。但我甚至無法生成.exec文件!需要我用特殊的方式編譯我的應用程序,然後用jacoco代理程序執行它,然後對其進行測試?我想我會用螞蟻來生成報告,一旦我有.exec文件 – Skartt

+0

精度:輸入-javaagent時生成的.exec文件si:/atgl/products/jacoco/0.6.3/lib/jacocoagent.jar=destfile = eclipse中VM參數字段中的jacoco.exec。它在命令行上不起作用 – Skartt

0

通過使用jacoco 0.7.9版本的jacococli.jar,現在可以使用命令行生成報告。我正在嘗試相同的功能,並能夠使用命令行生成報告。如果您能夠成功生成jacoco.exec文件,請使用以下命令生成報告。

java -jar "your local path/jacococli.jar" report "your local path/jacoco.exec" --classfiles "project path to class files" --html "local path\jacoco-report" --name myReport --sourcefiles "project path\src\main\java" 

您應該能夠以html格式查看報告。參考[http://www.jacoco.org/jacoco/trunk/doc/cli.html]

相關問題