Я хочу получить отчет о покрытии кода (или отслеживание потока контроллера приложения), когда я выполняю какой-то сценарий в реальном приложении, то есть когда приложение работает на сервере, поэтому я обратился к официальному документация Jacoco и поступил так же
В качестве первого шага я попытался привязать агент 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 получить дамп, выполнив следующую команду
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, он показывает 0%
покрытия.
вы можете воспроизвести мою трудность со следующим примером проекта Spring MVC
загрузите проект Spring MVC с https://github.com/mkyong/spring4-mvc-ajax-example с Github
В моем случае я использую сервер WildFly 8.x для запуска проекта и добавляю следующие зависимости к загруженным проектам 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< /а>
Пожалуйста, помогите мне получить отчет о покрытии кода, и любая помощь будет оценена по достоинству.