CodeCov не может найти отчеты - PullRequest
2 голосов
/ 23 октября 2019

Я пытаюсь заставить кодеков запускать и обрабатывать отчеты, сгенерированные Jacoco для моего многоцелевого проекта Java Gradle. Однако, когда я запускаю скрипт codecov (bash <(curl -s https://codecov.io/bash)), я получаю следующий вывод:

x> No CI provider detected.
    Testing inside Docker? http://docs.codecov.io/docs/testing-with-docker
    Testing with Tox? https://docs.codecov.io/docs/python#section-testing-with-tox
    project root: .
    Yaml found at: .codecov.yml
==> Running gcov in . (disable via -X gcov)
==> Python coveragepy not found
==> Searching for coverage reports in:
    + .
--> No coverage report found.
    Please visit http://docs.codecov.io/docs/supported-languages

Я проверил, что отчеты созданы jacoco в build/reports/jacoco/codeCoverageReport, и что отчет xml вфакт существует.

Я настраиваю отчетность jacoco, следуя указаниям здесь (Github) . Основное различие между моим кодом Gradle и кодом на этом github состоит в том, что я исключил xml.destination "${buildDir}/reports/jacoco/report.xml", потому что Gradle не сможет обработать его, включая.

.codecov.yml

codecov:
  require_ci_to_pass: true

coverage:
  precision: 3
  round: up
  range: "70...100"

  status:
    project: true
    patch: yes
    changes: no

parsers:
  gcov:
    branch_detection:
      conditional: yes
      loop: yes
      method: yes
      macro: no

comment:
  layout: "reach,diff,flags,tree"
  behavior: default
  require_changes: false

1 Ответ

2 голосов
/ 24 октября 2019

Я понял это. Запуск bash <(curl -s https://codecov.io/bash) -h перечислил доступные мне опции, где я обнаружил, что есть опция -f <file> для указания точного файла для использования.

Здесь я просто использую это в своем файле travis, чтобы получитьчтобы загрузить правильно:

bash <(curl -s https://codecov.io/bash) -f build/reports/jacoco/codeCoverageReport/codeCoverageReport.xml

...