Добавить покрытие интеграционного теста в сонар - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть проект A, который находится в этой структуре:

A

| Backend code( contain unit test) this will build and deploy in wildfly container in docker

| integration test( call to BE code)

В моем проекте уже был гидролокатор, чтобы показать покрытие модульного теста, но сейчас я хочу показать интеграционный тест.

Я проверил много ответов в Google и быстро нашел это решение. - (1) копирует jaroco jar runtime jar в том, который используется совместно с контейнером docker https://www.eclemma.org/jacoco/trunk/doc/agent.html, для этого я обновил файл docker до

services:
    A:
      environment:
       - JAVA_OPTS=-javaagent:/opt/wildfly/jacocoagent.jar=destfile=/tmp/jacoco/jacoco.exec,output=tcpserver,address=*
  • (2) Запустите тестирование, чтобы jacoco сгенерировал файл jacoco-it.exe c и заполнили данные в jacoco.exe c
  • (3) Смонтируйте файл jacoco.exe c так что сонар может сканировать и показывать.

Вот мой файл gradle

sonarqube {
        properties {
            property "sonar.junit.reportPaths", "${project.buildDir}/test-results, ${project.buildDir}/test-results/test"
            property "sonar.jacoco.reportPaths", "${project.buildDir}/jacoco/test.exec"
            property "sonar.jacoco.itReportPath", "${project.buildDir}/jacoco/testIntegration.exec"
        }
    }

Сейчас я на шаге 1, я вижу, что jacocoagent.jar запущен и прослушивание с портом 6300. но файл jacoco.exe c не создается во время запуска контейнера.

Я не знаю Правильный ли этот шаг или нет? и будет ли файл jacoco.exe c создаваться сразу после запуска контейнера?

...