- версия go: версия go go1.11.2 linux / amd64
- версия джина (или ссылка ref): Commit # 5acf660
- операционная система: Ubuntu 16.04LTS
Описание
Я пытаюсь создать отчеты о покрытии кода для сервера джина с помощью примера приложения.sample.go
package main
import (
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.GET("/ep1", getEp1)
r.GET("/ep2", getEp2)
//r.Run()
}
func getEp1(c *gin.Context) {
}
func getEp2(c *gin.Context) {
}
Это мой тестовый файл: sample_test.go
package main
import (
"fmt"
"testing"
)
func TestRunMain(t *testing.T) {
fmt.Println("TestRunMain ...")
main()
}
Команда для создания покрытия кода:
$ go test -covermode= count -coverpkg. / ... -test.coverprofile cover.cov
TestRunMain ...
[GIN-debug] [ПРЕДУПРЕЖДЕНИЕ] Создание экземпляра Engine с помощью промежуточного программного обеспечения Logger and Recoveryуже подключен.
[GIN-debug] [WARNING] Работает в режиме «отладки».Переключитесь в режим «релиз» в производстве.
, используя env: export GIN_MODE = release
, используя код: gin.SetMode (gin.ReleaseMode)
[GIN-debug] GET / ep1 -> _ / home / ubuntu / tmp / sample.getEp1 (3 обработчика)
[GIN-debug]GET / ep2 -> _ / home / ubuntu / tmp / sample.getEp2 (3 обработчика)
PASS
покрытие: 100,0% операторов в ./...
ok _ / home / ubuntu / tmp / sample 0.013s
Вот содержимое файла cover.cov:
mode: count
/ home / ubuntu / tmp / sample / sample.go: 7.13,12.2 3 1
/ home / ubuntu / tmp / sample / sample.go: 14.30,15.2 0 0
/home / ubuntu / tmp / sample / sample.go: 17.30,18.2 0 0
Пока все хорошо!Но, как вы можете видеть, я еще не запускаю сервер.В файле: sample.go, когда я раскомментирую строку r.Gin (), сервер запускается.Для выхода из приложения мне нужно выполнить Ctrl + C.В этом случае не создаются отчеты о покрытии кода. Чего мне не хватает?
Вывод командной строки с комментарием r.Gin () в sample.go:
$ go test -covermode = count -coverpkg. / ... -test.coverprofile cover.cov
TestRunMain ...
[GIN-debug] [ПРЕДУПРЕЖДЕНИЕ] Создание экземпляра Engine с уже подключенным промежуточным программным обеспечением Logger и Recovery.
[GIN-debug] [WARNING] Работает в режиме «отладки».Переключитесь в режим «релиз» в производстве.
, используя env: export GIN_MODE = release
, используя код: gin.SetMode (gin.ReleaseMode)
[GIN-debug] GET / ep1 -> _ / home / ubuntu / tmp / sample.getEp1 (3 обработчика)
[GIN-debug]GET / ep2 -> _ / home / ubuntu / tmp / sample.getEp2 (3 обработчика)
[GIN-debug] Переменная окружения PORT не определена.Использование порта: 8080 по умолчанию
[GIN-debug] Прослушивание и подача HTTP на: 8080
^ Csignal: прерывание
FAIL _ / home / ubuntu / tmp / sample0,711 с
Содержимое cover.go:
$ cat cover.cov
режим: count
МожетКто-нибудь, пожалуйста, скажите мне, что мне здесь не хватает?