Comment mesurer la couverture des tests dans Go
L'un des défis des tests logiciels consiste à déterminer dans quelle mesure les tests couvrent le code testé . Cette métrique, connue sous le nom de couverture des tests, est essentielle pour garantir que les tests sont complets et efficaces.
Capacités de couverture des tests de Go
Dans les versions Go 1.2 et ultérieures, le go La commande test prend désormais en charge le calcul et l’affichage des résultats de couverture de test. Pour activer la couverture, utilisez simplement l'indicateur -cover lors de l'exécution des tests.
go test -cover
Cela générera un rapport de couverture de base, indiquant le pourcentage de déclarations couvertes par les tests.
Analyse de couverture détaillée
Pour des rapports de couverture plus détaillés, utilisez l'indicateur -coverprofile pour spécifier un fichier de sortie qui contiendra le profil de couverture. Ce profil peut ensuite être analysé à l'aide de la commande go tool cover.
go test -coverprofile=coverage.out go tool cover -html=coverage.out
L'indicateur -html génère un rapport HTML qui fournit une représentation visuelle de la couverture, mettant en évidence les lignes qui ne sont pas couvertes.
Tests Blackbox
Pour mesurer la couverture des tests Blackbox (tests qui n'ont pas accès à l'état interne du package), utilisez le -indicateur coverpkg. Cet indicateur spécifie le package qui doit être instrumenté pour la couverture.
go test -coverprofile=.coverage.html -coverpkg=your/pkg your/pkg/pkg_test
Améliorations récentes
Dans Go 1.20, les tests d'intégration peuvent désormais être inclus dans l'analyse de couverture. La commande go build -cover peut être utilisée pour créer des binaires instrumentés par la couverture. Ces binaires peuvent ensuite être utilisés dans des tests d'intégration pour étendre la portée des tests 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!