У меня есть проект Go со следующей структурой:
foo/foo.go
foo/foo_test.go
main.go
Как вы заметили, теста для main.go
нет.
Я собираю отчет о покрытии с помощью следующей команды:
go test ./foo ./ -coverprofile=coverage.txt -covermode=atomic
Здесь ./foo
и ./
показывают, где искать пакеты.
Проблема: я отправляю отчет о покрытии на codecov.io, который показывает, что мой код покрыт тестами на 100%. Но это неправда, так как у моего main.go
вообще нет тестов.
Похоже, система считает только те пакеты, в которых явно указаны тестовые файлы.
Вопрос. Как исправить отчет о покрытии, чтобы в нем учитывалась информация о непроверенных пакетах?
Примечание. Мой проект можно найти на GitHub, и реальная статистика здесь. У проекта другая структура, но проблема осталась (неправильный охват).
go test -coverpkg=.,./foo -coverprofile=coverage.txt -covermode=atomic . ./foo
- person icza   schedule 25.01.2020