Вопросы

Покрытие Go для нескольких пакетов и значок покрытия Gitlab

Я пытаюсь отобразить точный значок покрытия для моего проекта gitlab.

Дело в том, что у меня несколько пакетов, в gitlab-ci.yml я запускаю

go test $(go list ./... | grep -v /vendor/) -v -coverprofile .testCoverage.txt

и мой результат выглядит примерно так:

$ go test -coverprofile=coverage.txt -covermode=atomic ./...
 ok     gitlab.com/[MASKED]/pam 10.333s coverage: 17.2% of statements
 ok     gitlab.com/[MASKED]/pam/acquisition 0.004s  coverage: 57.7% of statements
 ok     gitlab.com/[MASKED]/pam/acquisition/api 0.005s  coverage: 72.1% of statements
 ok     gitlab.com/[MASKED]/pam/acquisition/ftp 24.936s coverage: 73.1% of statements
 ok     gitlab.com/[MASKED]/pam/repartition 0.004s  coverage: 90.1% of statements

И мое регулярное выражение разбора тестового покрытия в Gitlab:

^coverage:\s(\d+(?:\.\d+)?%)

Если я проверю .testCoverage, я получаю много таких строк:

 gitlab.com/[MASKED]/pam/repartition/repartition.go:54.33,56.5 1 1

Итак, это дает мне результат 90.1%, когда это только покрытие последнего пакета.

Как я должен это делать ?

Читать:
Как сгенерировать код с помощью генератора кода для определения настраиваемого ресурса

Похожие записи

Объединить несколько столбцов словаря / списка в новые столбцы и строки

admin

Чтение китайских иероглифов в HTML с помощью PHP

admin

Не удалось найти SDK SQLite.UWP.2015 при создании приложения UWP с использованием размещенного пула TFS

admin

подсчет общего прогресса загрузки нескольких файлов с AFNetworking

admin

Случайные сбои в iOS — Xamarin Forms — EXC_BAD_ACCESS (SIGSEGV) — KERN_INVALID_ADDRESS по адресу 0x0000000000000000

admin