Maison > développement back-end > Golang > le corps du texte

Comment puis-je capturer la couverture du code des tests d'intégration par rapport à un binaire Go ?

Mary-Kate Olsen
Libérer: 2024-10-30 09:19:27
original
451 Les gens l'ont consulté

How Can I Capture Code Coverage from Integration Tests Against a Go Binary?

Capturer la couverture de code à partir d'un binaire Go

Lors de l'exécution de tests unitaires, la capture de la couverture de code est simple. Cependant, la collecte de mesures de couverture lors des tests d'intégration par rapport au binaire lui-même peut s'avérer difficile. Existe-t-il un moyen de surmonter cet obstacle ?

Le besoin d'une couverture des tests d'intégration

Les tests d'intégration fournissent une vue plus complète de la couverture du code que les tests unitaires seuls. En exécutant le binaire avec des entrées du monde réel, nous pouvons évaluer le comportement de notre code dans diverses conditions.

Le défi

L'outil de couverture Go fonctionne uniquement en conjonction avec le package de tests. Cela pose un problème pour les tests d'intégration qui ne rentrent généralement pas dans ce cadre.

La solution : tests d'intégration dans le cadre de tests de Go

Pour capturer la couverture des tests d'intégration , nous devons les intégrer d'une manière ou d'une autre dans le package de test.

  1. Créez un fichier de test : Créez un fichier de test qui exécute votre fonction main() dans une goroutine.
<code class="go">func TestMainApp(t *testing.T) {
    go main()
    // ... Start integration tests here
}</code>
Copier après la connexion
  1. Exécuter les tests d'intégration : Utilisez exec.Cmd pour exécuter vos tests d'intégration en dehors de la goroutine créée précédemment.
  2. Collectez des statistiques de couverture : Enfin, rassemblez les statistiques de couverture à l'aide de l'outil de couverture.

Autres ressources

Pour une discussion précédente sur ce sujet, reportez-vous à l'article " Allez couverture avec des tests externes", qui explore une approche comparable.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!