Maison > Article > développement back-end > Comment mesurer avec précision la couverture des tests d'intégration Golang pour les packages externes ?
Détermination de la couverture des tests pour les tests d'intégration de Golang
Mesurer la couverture des tests pour les tests d'intégration dans Golang peut poser des défis lorsque les tests sont externes au service en cours testé. L'utilisation de go test -cover sans les directives appropriées peut entraîner des statistiques de couverture inexactes.
Solution : tirer parti de la directive -coverpkg
La directive -coverpkg résout ce problème en autorisant vous devez spécifier le package pour lequel vous souhaitez mesurer la couverture, que les tests fassent ou non partie de ce package. Voici un exemple qui mesure la couverture du package mypackage :
$ go test -cover -coverpkg mypackage ./src/api/...
Cette commande fournira des statistiques de couverture spécifiquement pour le package mypackage, à l'exclusion des tests qui l'utilisent mais n'en font pas partie.
Comparaison des rapports de couverture
En comparant les rapports de couverture générés avec et sans la directive -coverpkg, vous pouvez évaluer la couverture réelle obtenue par vos tests d'intégration sur le package ciblé.
Exemple :
Sans -coverpkg :
$ go test -cover ./src/api/... ok /api 0.191s coverage: 71.0% of statements ok /api/mypackage 0.023s coverage: 0.7% of statements
Avec -coverpkg :
$ go test -cover -coverpkg mypackage ./src/api/... ok /api 0.190s coverage: 50.8% of statements in mypackage ok /api/mypackage 0.022s coverage: 0.7% of statements in mypackage
Dans l'exemple ci-dessus, la couverture pour le mypackage est réduit à 50,8 % lors de l'utilisation de -coverpkg, indiquant que les tests d'intégration ne couvrent pas entièrement le code du package ciblé. Ces informations peuvent vous guider dans l'amélioration de vos tests d'intégration afin d'obtenir une couverture plus complète.
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!