Le go test
la commande couvre *_test.go
fichiers dans un seul répertoire.
Je veux go test
l'ensemble du projet, ce qui signifie que le test doit couvrir tous les *_test.go
fichiers dans le répertoire ./
et tous les répertoires chindren situés sous le répertoire ./
.
Quelle est la commande pour faire cela?
Ceci devrait exécuter tous les tests dans le répertoire courant et tous ses sous-répertoires:
$ go test ./...
Ceci devrait exécuter tous les tests avec le chemin d'importation avec le préfixe foo/
:
$ go test foo/...
Cela devrait exécuter tous les chemins d’importation des tests avec le préfixe foo
:
$ go test foo...
Ceci devrait exécuter tous les tests dans votre $ GOPATH:
$ go test ...
à partir de Go 1.9 , utilisez
go test ./...
Dans les versions 1.6 à 1.8, le ./...
correspond également au vendor
répertoire . Pour ignorer les paquets vendus, vous utiliseriez
go test $(go list ./... | grep -v /vendor/)
Sources: https://github.com/golang/go/issues/11659 , https://github.com/golang/go/issues/14417 , - https://github.com/go-lang-plugin-org/go-lang-idea-plugin/issues/2366 , commentaire de @ nickgrim.
Structure des dossiers
ProjectName/folderName1/file_test.go
ProjectName/folderName2/file1_test.go
ProjectName/folderName3/file2_test.go
go test command Command
ProjectName$ go test -v ./...
ProjectName$ go test ./...
ProjectName$ go test -cover ./...
Rapport de couverture pour l'ensemble du projet
ok ProjectName/folderName1 10%
ok ProjectName/folerName2 90%
ok ProjectName/folerName2 85%