Вы можете запустить свой код на сервере, инструктируемом во время выполнения агентом JaCoCo, добавив агент в командную строку Java. Например, если ваш процесс запущен с:
java -jar myApp.jar
Вы можете изменить его на
java -jar myApp.jar -javaagent:/some/path/jacocoagent.jar
По умолчанию это записывает данные покрытия в файл jacoco.exec
после завершения работы виртуальной машины, но вы можете переопределить это с помощью опций, позволяющих получать данные покрытия по TCP / IP. См. JaCoCo Agent документы .
Вы можете отформатировать это в отчете (например, HTML), используя:
java -jar jacococli.jar report jacoco.exec [options]
См. Параметры JaCoCo CLI .
... или вы можете использовать EclEmma для анализа вывода.
Если есть подлинные причины, по которым вы не можете использовать агент, в качестве крайней меры вы можете статически преобразовывать файлы классов в инструментированные файлы классов, используя команду instrument
в jacocococli
. Информацию об этом см. В JaCoCo 'Offline Instrumentation' документации .
Непосредственный вызов агента и использование jacococli.jar
- самые основные способы использования JaCoCo. Поскольку вы используете Maven, вы можете получить многие из тех же эффектов, используя плагин JaCoCo Maven.