Я хочу получить отчет о покрытии кода (или поток контроллера отслеживания приложения) при выполнении какого-либо сценария в реальном приложении, то есть во время работы приложения на сервере, поэтому я уже судил официальный Jacoco documentation и сделал, как залежиКак получить покрытие кода инструментария JaCoCo при выполнении webApplication на сервере
в качестве первого шага я попытался связать jacoco агента к приложению работает порт
export MAVEN_OPTS=-javaagent:/home/user/.m2/repository/org/jacoco/org.jacoco.agent/0.7.4.201502262128/org.jacoco.agent-0.7.4.201502262128-runtime.jar=includes=*,output=tcpserver,port=6300,address=*,dumponexit=true
тогда я начал сервер и выполняются несколько сценариев тестирования, что Я также попросил jacoco получить дамп, выполнив followin Команда г
mvn jacoco:dump
, когда я выполнил выше команду сначала он показал, как java.net.BindException: Address already in use
то напечатанный в залежи
[INFO] Connecting to localhost/127.0.0.1:6300
Когда я остановил сервер jacoco.exec был создан в известном месте есть после того как я попросил создать отчет о jacoco, выполнив следующую команду:
mvn jacoco:report
Наконец-то я получил отчет, но когда я открыл страницу index.html, он показал покрытие .
вы можете воспроизвести мои трудности со следующими примерами проектов Spring MVC
пожалуйста, загрузите проект Spring MVC с https://github.com/mkyong/spring4-mvc-ajax-example из Github
В моем случае я использую сервер 8.x WildFly запустить проект и добавить следующие зависимости от загруженных проектов pom.xml
maven-surefire-plugin of 2.19.1 version
jacoco-maven-plugin of 0.7.4.201502262128 version
junit of 4.12 version
Тогда чистый и построить проект, используя следующие команды.
mvn clean install
раз это делается получить .war файл из целевой папки проекта и держать внутри wildfly serverwildfly-9.0.0.CR2/standalone/deployments/
папку
После .war развертывается идти в /wildfly-9.0.0.CR2/bin/
папку и выполнить/запустить файл ./standalone.sh
или в зависимости от платформы, которую вы можете запустить .dat/.sh
файлу
когда проект развернут и запущен сервер выполнить следующую команду
mvn jacoco:dump
он отображается как прослушивания/подключен к localhost/127.0.0.1:6300
Затем выполнить несколько тестовых сценариев и выполнить следующую команду Maven
mvn jaococ:report
Наконец отчет будет сгенерирован с охватом 0% !.
Скачал проект может быть найден в MKyong website
Пожалуйста, помогите мне, чтобы получить отчет покрытия кода и любая помощь будет оценена.
спасибо за ответ, я получаю отчет, и он содержит классы, но покрытие кода 0%, пожалуйста, вы можете предложить способ соответствия классам, которые использовались во время выполнения, или, пожалуйста, скажите мне, как я могу получить классы времени выполнения –
Я думаю, что jacoco должен связываться с JVM/сервером, чтобы получить классы времени выполнения, или, пожалуйста, скажите мне, как я могу отслеживать поток контроллера во время выполнения. –
Файлы класса класса RajeshHatwar, которые используются во время выполнения на сервере, должны быть точно такими же, которые используются во время отчета генерация буквально – Godin