Maison >développement back-end >Golang >Comment puis-je obtenir une couverture précise du code Go sur des dossiers distincts ?
Détection de la couverture de code dans des dossiers distincts dans Golang
Dans un projet avec une structure comme :
stuff/stuff.go -> package: stuff test/stuff/stuff_test.go -> package: test
quand lors de l'exécution de stuff_test, la couverture du code pour stuff.go est de 0,0 %. Bien que le déplacement de *_test.go dans le dossier stuff résolve le problème, cela soulève des questions sur la structure du projet et les meilleures pratiques de Go.
Solution via -coverpkg Flag
À Pour résoudre cette situation sans modifier la structure du projet, utilisez l'indicateur -coverpkg. Cet indicateur permet de spécifier les packages à inclure dans l'analyse de couverture.
Pour la structure de projet donnée, la commande devient :
go test ./test/... -coverprofile=cover.out -coverpkg ./...
Cette commande analyse tous les tests dans le ./test/. .. chemin pour les informations de couverture, y compris les packages correspondants ./....
Génération et affichage de la couverture Rapport
Une fois les tests exécutés, utilisez go tool cover pour générer un rapport de couverture :
go tool cover -html=cover.out
Cela crée un rapport HTML détaillant les informations de couverture des packages analysés, fournissant un aperçu de la couverture du code dans les dossiers du projet.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!