Maison  >  Article  >  développement back-end  >  Comment pouvez-vous mesurer la couverture des tests d'intégration dans Golang pour les packages au-delà de celui testé ?

Comment pouvez-vous mesurer la couverture des tests d'intégration dans Golang pour les packages au-delà de celui testé ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-07 20:48:03662parcourir

How Can You Measure Integration Test Coverage in Golang for Packages Beyond the Tested One?

Mesurer la couverture des tests d'intégration dans Golang

Les tests d'intégration jouent un rôle crucial pour garantir la fiabilité et l'efficacité de votre API REST. Cependant, mesurer la couverture obtenue par ces tests peut s’avérer difficile. Cet article aborde un problème courant : obtenir une couverture de test précise lors de l'écriture de tests d'intégration externes aux limites du package.

Le dilemme

Comme mentionné dans l'enquête, l'utilisation de go test -cover seule peut donner un 0 Résultat de couverture en % pour les tests d’intégration qui ne font pas partie du package testé. La raison réside dans le fait que l'outil de couverture ne prend en compte que les packages testés, pas ceux qu'ils utilisent.

Utiliser -coverpkg pour une couverture granulaire

La solution réside dans l'utilisation de la directive -coverpkg. Cette option vous permet de spécifier les packages spécifiques dont vous souhaitez mesurer la couverture, même si ces packages ne sont pas explicitement testés. Par exemple, la commande suivante :

$ go test -cover -coverpkg mypackage ./src/api/...

mesurera la couverture au sein du package mypackage, même si les tests eux-mêmes sont définis dans un package distinct.

Exemples de résultats

Pour illustrer la différence, considérons le scénario suivant :

Non -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

Comme vous pouvez le constater, la couverture mypackage est nettement plus élevée lors de l'utilisation de -coverpkg, fournissant une représentation plus précise de la couverture réelle obtenue.

Conclusion

En tirant parti Grâce à la directive -coverpkg, les développeurs peuvent mesurer efficacement la couverture des packages utilisés dans leurs tests d'intégration, ce qui leur permet d'identifier les domaines dans lesquels des tests supplémentaires sont nécessaires. Ces rapports de couverture améliorés contribuent au développement de systèmes logiciels plus robustes et plus fiables.

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