Оказывается, в Гитлабе можно настроить MR так, чтобы сразу подсвечивалось полосками, какие строки покрыты тестами, а какие - нет. Для этого надо ваш файл покрытия сконвертировать в xml нужного формата (cobertura) и положить это в артифакт:





artifacts:

reports:

coverage_report:

coverage_format: cobertura

path: coverage.xml





(подробная инструкция здесь)



Далее, после того как весь пайплайн полностью пройдет, появится подсветка, как на картинке выше.



Для языка Go покрытие конвертируется в xml с помощью утилиты gocover-cobertura, для других языков тоже есть аналоги.



Пример:





go test -coverprofile cover.out ./...



go install github.com/boumenot/gocover-cobertura@latest



gocover-cobertura < cover.out > coverage.xml





P.S. Гоша, спасибо за наводку :)