"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je capturer la couverture du code des tests d'intégration par rapport à un binaire Go ?

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

Publié le 2024-11-18
Parcourir:128

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

Capture de 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 sur 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 test 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éer un fichier de test : Créez un fichier de test qui exécute votre fonction main() dans une goroutine.
func TestMainApp(t *testing.T) {
    go main()
    // ... Start integration tests here
}
  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. Collecter 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 « Aller à la couverture avec des tests externes », qui explore une approche comparable.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3