Maison > développement back-end > Golang > Pourquoi mon rapport de couverture de code Go affiche-t-il 0 % lors de tests sur des dossiers distincts ?

Pourquoi mon rapport de couverture de code Go affiche-t-il 0 % lors de tests sur des dossiers distincts ?

Patricia Arquette
Libérer: 2024-11-25 09:55:12
original
635 Les gens l'ont consulté

Why Does My Go Code Coverage Report Show 0% When Testing Across Separate Folders?

Incohérences de couverture de code de débogage dans des dossiers Go séparés

Lorsque vous testez unitairement du code dans différents dossiers d'un projet Go, vous pouvez rencontrer des écarts dans les rapports de couverture de code. Cela peut être frustrant, car vous pouvez vous attendre à ce que tout le code soit couvert lors de l'exécution de tests dans les sous-dossiers.

Problème :

Malgré l'exécution du code à partir du dossier stuff dans le stuff_test, le rapport de couverture affiche 0 % des déclarations couvertes. La structure de projet suivante est impliquée :

stuff/stuff.go -> package: stuff
test/stuff/stuff_test.go -> package: test
Copier après la connexion

Cause possible :

L'analyse de la couverture de code est limitée au package testé par défaut. Dans ce cas, le package stuff_test se trouve dans un dossier distinct du package stuff, à l'origine du problème.

Solution :

Pour résoudre ce problème, vous pouvez utiliser l'option -coverpkg lors de l'exécution de go test. Cette option vous permet de spécifier les packages pour lesquels vous souhaitez collecter des informations de couverture.

go test ./test/... -coverprofile=cover.out -coverpkg ./...
Copier après la connexion

Cette commande appliquera l'analyse de couverture à tous les packages qui correspondent au modèle spécifié, qui dans ce cas concerne tous les packages du répertoire actuel et ses sous-répertoires.

Affichage du rapport de couverture :

Une fois les tests exécutés, vous pouvez générer un rapport de couverture à l'aide de la commande go tool cover.

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

Cette commande créera un rapport HTML nommé cover.out que vous pourrez ouvrir dans un navigateur Web pour afficher les informations de couverture pour tous les packages spécifiés.

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