Maison >développement back-end >Golang >Comment obtenir des statistiques de couverture précises pour un package lorsque les tests sont dans un package séparé ?

Comment obtenir des statistiques de couverture précises pour un package lorsque les tests sont dans un package séparé ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-28 20:39:30897parcourir

How to Obtain Accurate Coverage Stats for a Package When Tests Are in a Separate Package?

Couverture des tests dans des packages de tests séparés

Lorsque les fichiers de test sont séparés en packages distincts à des fins d'organisation, l'obtention de statistiques de couverture pour le code cible peut devenir un défi. Cette question explore une solution de contournement pour ce scénario, où le package de test se trouve dans api_client_tests et le code dans api_client.

La question :

Comment les statistiques de couverture peuvent-elles être exactes obtenu pour le package api_client testé lorsque les tests associés se trouvent dans un package séparé ?

La solution :

La solution fournie implique d'utiliser la commande go test avec le Indicateurs -cover et -coverpkg. En spécifiant le package api_client comme cible de couverture à l'aide de l'indicateur -coverpkg :

go test -cover -coverpkg "api_client" "api_client_tests"

Les statistiques de couverture seront générées spécifiquement pour le code dans le package api_client, même si les tests sont situés en externe dans api_client_tests.

Approches alternatives :

Bien que la méthode décrite ci-dessus soit une solution viable, elle s'écarte de la convention Go typique consistant à conserver les fichiers de test dans le même package que le code qu'ils contiennent. test. Cela peut entraîner des difficultés de débogage et de collaboration.

Une approche alternative, comme mentionné dans les commentaires, consiste simplement à déplacer les fichiers de test dans le même package que le code testé. Cela garantit que tout le code lié à une fonctionnalité ou un composant particulier est regroupé pour faciliter la maintenance.

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