Maison  >  Article  >  développement back-end  >  Comment mesurer avec précision la couverture des tests d'intégration Golang pour les packages externes ?

Comment mesurer avec précision la couverture des tests d'intégration Golang pour les packages externes ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-12 10:36:02421parcourir

How to Accurately Measure Golang Integration Test Coverage for External Packages?

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!

Déclaration:
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