Go Coverage не включая функции в другой пакет - PullRequest
3 голосов
/ 16 марта 2019

У меня есть проект, подобный этому:

app/
    api/
        foo.go
        test_foo.go
src/
    db/
        bar.go

В foo.go вызывается функция в bar.go.Однако при запуске отчета о покрытии он показывает, что покрыты 0 строк bar.go.

Есть ли способ получить покрытие для включения вызова функции в другие пакеты?

В моем случаеЯ не хочу делать отдельные тесты для db и для api, поскольку все вызовы через db всегда будут проходить через api, и было бы излишним писать два теста.

Я управляю освещением так:

go clean -testcache
go test -coverprofile=coverage.out ./...
go tool cover -html=coverage.out

1 Ответ

1 голос
/ 17 марта 2019

Вам необходимо включить флаг coverpkg так:

 go test -coverpkg=./... coverprofile=coverage.out ./...

Рассчитает покрытие для всех ваших пакетов.

https://golang.org/cmd/go/#hdr-Testing_flags

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...