Покрытие ветви не отображается в Sonarcloud при синхронизации с основной веткой - PullRequest
0 голосов
/ 21 мая 2019

Я пытаюсь запустить анализ моего кода, используя jacoco плагин в gradle и sonarqube .Мои тесты написаны на Groovy .Я автоматизировал процесс с использованием конвейеров битового сегмента, поэтому каждый раз, когда я фиксирую код, запускаются тесты, а в конце запускаются анализ jacoco и sonarqube, что приводит к выводу результатов отчета в SonarCloud.Охват отображается (в процентах, со ссылкой на классы) и сравнивается с веткой dev (я явно указал dev как долгоживущую ветку в SonarCloud).Также показан общий охват (после слияния).

Проблема в том, что когда я объединяю dev с моей веткой (что-то еще объединяется с dev, поэтому я синхронизирую), тогда покрытие ветви отображается как "-", т.е. пусто.Кажется, я не могу найти проблему, вместо того, чтобы предположить, что у коммита (который происходит от слияния dev с моей веткой) есть 2 родителя (предыдущий коммит и другая недолговечная ветвь, которая была слита в dev), и каким-то образомзапутывается.После того, как я что-то зафиксирую, даже глупую строку кода, анализ снова будет показан корректно.

Я хотел бы знать, решил ли кто-нибудь эту проблему или знает, почему это происходит.Спасибо!

В build.gradle я добавил:

 plugins {
    id "org.springframework.boot" version "2.0.2.RELEASE"
    id "org.sonarqube" version "2.7.1"
    id "application"
    id "jacoco"
}

apply plugin: 'java'
apply plugin: 'groovy'
apply plugin: 'jacoco'

jacoco {
    toolVersion = "0.8.3"
    reportsDir = file("$buildDir/customJacocoReportDir")
}

jacocoTestReport {
    reports {
        xml.enabled false
        csv.enabled false
        html.destination file("$buildDir/jacocoHtml")
    }
}

sonarqube {
   properties {
        // properties related to credentials
    }
}

, и мой файл конвейеров битового сегмента:

image: java:8

clone:
  depth: full  # SonarCloud scanner needs the full history to assign issues properly

definitions:
  caches:
    sonar: ~/.sonar/cache  # Caching SonarCloud artifacts will speed up your build
  steps:
    - step: &build-test-sonarcloud
        name: Build, test and analyze on SonarCloud
        caches:
          - gradle
          - sonar
        script:
          - ./gradlew clean test
          - ./gradlew jacocoTestReport
          - ./gradlew sonarqube
        artifacts:
          - build/libs/**

pipelines:
  default:
    - step: *build-test-sonarcloud
  pull-requests:
    '**':
      - step: *build-test-sonarcloud
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...