Maison >développement back-end >Golang >Comment puis-je capturer la couverture du code Go pendant les tests d'intégration ?

Comment puis-je capturer la couverture du code Go pendant les tests d'intégration ?

DDD
DDDoriginal
2024-11-01 22:26:29511parcourir

How Can I Capture Go Code Coverage During Integration Testing?

Capturer la couverture de code pour les binaires Go pendant les tests d'intégration

La collecte de métriques de couverture de code pendant les tests unitaires est simple dans Go. Cependant, la capture des données de couverture lors des tests d'intégration exécutés sur le binaire lui-même est également souhaitable.

Est-ce possible ?

Oui, il est possible de mesurer la couverture du code pour tests d'intégrations impliquant les binaires Go. Cependant, l'outil de couverture Go standard ne fonctionne qu'en conjonction avec le package de tests.

Solution : exploitez le cadre de tests

Pour combler cette lacune, forcez vos tests d'intégration à le cadre de test Go. Cela nécessite :

  1. Créer un fichier de test qui appelle votre fonction main() dans une routine go :

    func TestMainApp(t *testing.T) {
     go main()
     // .. then start your integration tests
    }
  2. Lancement des tests d'intégration depuis l'exécution application utilisant exec.Cmd.
  3. Collecte des statistiques de couverture comme d'habitude.

Référence supplémentaire

Pour une implémentation détaillée, reportez-vous à l'article "Allez en couverture avec des tests externes" pour une approche similaire.

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