Maison > développement back-end > Golang > Pourquoi la couverture de mon code Go affiche-t-elle 0 % malgré l'exécution réussie des tests dans des dossiers séparés ?

Pourquoi la couverture de mon code Go affiche-t-elle 0 % malgré l'exécution réussie des tests dans des dossiers séparés ?

Patricia Arquette
Libérer: 2024-11-28 10:59:11
original
818 Les gens l'ont consulté

Why Is My Go Code Coverage Showing 0% Despite Successful Test Execution in Separate Folders?

Résolution des écarts de couverture de code dans des dossiers séparés pour les projets GO

Lorsque vous travailliez sur un projet avec une structure particulière, où les packages et leurs tests étaient situés dans des dossiers séparés, vous avez rencontré un problème. Malgré l'exécution du code dans stuff.go à partir de stuff_test.go, le rapport de couverture affichait 0,0 %.

Cause possible et solution

Le problème survient en raison de la valeur par défaut de GO comportement d’analyse de couverture, qui s’applique uniquement au package testé. Pour surmonter ce problème, l'indicateur -coverpkg peut être utilisé pour spécifier les packages pour lesquels les données de couverture doivent être collectées.

En utilisant l'option -coverpkg, vous pouvez spécifier que les tests dans test/stuff/stuff_test.go doivent pensez également à la couverture du code pour stuff/stuff.go. Cela garantit que l'analyse de couverture englobe tous les packages pertinents.

Voici un exemple de commande qui démontre l'utilisation de -coverpkg :

go test ./test/... -coverpkg ./...
Copier après la connexion

Cette commande exécute des tests dans des packages correspondant au chemin de test et inclut informations sur la couverture pour tous les forfaits correspondant à ./....

Affichage de la couverture Rapport

Une fois les tests exécutés, vous pouvez générer et visualiser le rapport de couverture à l'aide des commandes suivantes :

go tool cover -html=cover.out
Copier après la connexion

Cette commande génère un rapport de couverture HTML nommé cover.out, qui peut être ouvert dans un navigateur Web pour visualiser les données de couverture.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal