Maison >développement back-end >Golang >Comment puis-je mesurer avec précision la couverture dans les tests d'intégration Go ?

Comment puis-je mesurer avec précision la couverture dans les tests d'intégration Go ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-08 20:40:01468parcourir

How Can I Accurately Measure Coverage in Go Integration Tests?

Mesurer la couverture des tests dans les tests d'intégration Go

Lors de la réalisation de tests d'intégration sur une API Go REST, l'utilisation de go test -cover peut donner une erreur Couverture des tests à 0 %. En effet, les tests, qui résident en dehors des packages de services, ne sont pas reconnus par la couverture de l'outil go.

Cependant, la directive -coverpkg fournit une solution en mesurant la couverture des tests au sein d'un package spécifique, que le les tests appartiennent à ce package. Cela permet d'obtenir des rapports de couverture précis des packages de services, tels que :

$ 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

En revanche, l'utilisation de go test -cover rapporterait :

$ go test -cover ./src/api/...
ok      /api    0.191s  coverage: 71.0% of statements
ok      /api/mypackage   0.023s  coverage: 0.7% of statements

Cela démontre l'efficacité de -coverpkg dans isoler la mesure de couverture du package souhaité, dans ce cas, mypackage. Bien que ce ne soit peut-être pas l'approche optimale pour la couverture des tests d'intégration, elle fournit un aperçu précieux de la couverture du code pour des modules spécifiques.

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