Comment consolider les résultats de couverture de code pour plusieurs packages dans Go
Lorsque vous testez plusieurs packages dans une bibliothèque Go, il peut être avantageux d'obtenir une vue complète de la couverture du code. Par défaut, l'utilisation de l'indicateur -cover avec le test go fournit des informations de couverture pour des packages individuels.
Pour regrouper les données de couverture sur tous les packages, vous pouvez utiliser l'une des deux approches suivantes :
Utiliser -coverpkg dans Go 1.10 et versions ultérieures :
Dans Go 1.10 et versions ultérieures, l'indicateur -coverpkg vous permet de spécifier un liste de cibles de couverture séparées par des virgules. Pour couvrir toutes les dépendances du package de test, utilisez :
go test -v -coverpkg=./... -coverprofile=profile.cov ./... go tool cover -func profile.cov
Utilisation d'un script Bash dans les versions antérieures de Go :
Pour les versions Go antérieures à 1.10, pensez à utiliser un script Bash pour collecter et consolider les données de couverture :
#!/bin/bash set -e echo 'mode: count' > profile.cov for dir in $(find . -maxdepth 10 -not -path './.git*' -not -path '*/_*' -type d); do if ls $dir/*.go &> /dev/null; then go test -short -covermode=count -coverprofile=$dir/profile.tmp $dir if [ -f $dir/profile.tmp ] then cat $dir/profile.tmp | tail -n +2 >> profile.cov rm $dir/profile.tmp fi fi done go tool cover -func profile.cov
Ce script parcourt les répertoires contenant des fichiers Go, en exécutant tests avec couverture activée et ajout des résultats à un fichier de profil consolidé (profile.cov). Vous pouvez ensuite utiliser go tool cover pour générer un résumé de la couverture globale du code.
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!