Я использую Jacoco на удаленном сервере веб-страниц. Я настроил его как tcpsrver, и я запрашиваю сервер, чтобы получить jacoco.exec
, используя этот файл, я могу создавать отчеты для всех моих проектов. То, что я хочу, - это единый отчет для всех проектов. Я добавил каждый отчет в список, но когда я пытаюсь создать единый отчет, я могу просмотреть статистику только для последнего проекта.Сообщество Jacoco Слияние
Каждый проект находится в собственной папке, каждая папка получает свой собственный coveragereport
. Я делаю это, как этот
File[] fList = directory.listFiles();
ReportGenerator rg = new ReportGenerator();
for(File file : fList)
{
if(file.getAbsolutePath().contains("BL"))
{
if(new File(file.getAbsolutePath() + "\\bin").isDirectory())
{
rg = new ReportGenerator(file);
rg.setExecutionDataFile(directory);
rg.setClassesDirectory(file, "\\bin");
rg.setReportDirectory(directory);
rg.setTitle(file);
rg.create();
}
}
else
{
if(new File(file.getAbsolutePath() + "\\WebContent").isDirectory())
{
rg = new ReportGenerator(file);
rg.setExecutionDataFile(directory);
rg.setClassesDirectory(file , "\\WebContent\\WEB-INF\\classes");
rg.setReportDirectory(directory);
rg.setTitle(file);
rg.create();
}
}
Теперь добавьте их в список:
loadExecutionData();
final IBundleCoverage bundleCoverage = analyzeStructure();
reportsList.add(this);
в этот момент я хочу, чтобы вызвать метод, чтобы создать отчет, но он не работает. Пока я пытаюсь использовать примеры, представленные на веб-сайте jacoco.
http://www.eclemma.org/jacoco/trunk/doc/examples/java/ReportGenerator.java
То, что я пытался сделать, это отредактировать createReport
метод, я создаю HTMLFormatter
и IReportVisitor
, цикл по списку отчетов и добавьте visitInfo
и visitBundle
затем в самом конце, вызов visitEnd()
который сбрасывает содержимое файла. Проблема заключается в установке visitInfo
и visitBundle
Я перезаписываю предыдущий отчет.
Я надеюсь, что кто-то там знает, как добавить отчеты, чтобы сделать один более крупный отчет для просмотра.