Maison  >  Article  >  développement back-end  >  Comment utiliser la couverture de test dans Go ?

Comment utiliser la couverture de test dans Go ?

WBOY
WBOYoriginal
2023-05-11 17:04:532432parcourir

À l'ère du développement logiciel moderne, les tests sont considérés comme l'un des outils clés pour garantir la fiabilité et la qualité du code. Bien que la couverture du code ne signifie pas que le code est totalement fiable et fonctionne correctement, c'est un indicateur qui confirme que le code est correctement testé. La couverture du code fait référence à la manière dont notre code de test couvre le code de l'application. Dans le langage de programmation Go, vous pouvez facilement calculer la couverture de test de votre code à l'aide des outils de test et de couverture intégrés. Cet article présentera les bases et les directives pour la couverture des tests à l'aide de Go.

1. Méthode de calcul de la couverture des tests

La couverture des tests fait référence à la valeur de mesure générée par le code de test lorsqu'il couvre le code source. La documentation officielle de Go fournit des outils d'analyse de couverture. Entrez "go test -cover" sur la ligne de commande pour afficher les résultats de la couverture des tests. En haut de la page, générez un rapport de couverture qui inclut le nombre total de lignes de code, le nombre de lignes couvertes par les tests et le pourcentage de couverture des tests.

Cependant, toutes les lignes ne sont pas prises en compte dans les statistiques de couverture car toutes les lignes de code source ne peuvent pas être testées. Par exemple, une boucle peut être itérée à travers des instructions conditionnelles, nécessitant des tests pour chaque branche. De même, les gestionnaires d’exceptions et autres mécanismes de gestion des erreurs peuvent augmenter la confiance de vos tests.

2. Comment utiliser la couverture de test pour implémenter les tests

Pour les programmes Go généraux, vous devez créer un fichier de code source nommé "mysource.go". Si vous souhaitez tester ce code, écrivez un fichier de test spécial appelé "mysource_test.go". Ce fichier doit contenir des fonctions de test au niveau du package afin d'exécuter certains tests unitaires et cas de test.

Ce qui suit est un exemple d'utilisation de la fonction de statistiques de couverture de test dans un programme Go :

package main

func isPalindrome(s string) bool {
    for i := range s {
        if s[i] != s[len(s)-i-1] {
            return false
        }
    }
    return true
}

Dans "mysource_test.go", vous pouvez écrire les cas de test suivants dans This la fonction est testée :

package main

import "testing"

func TestIsPalindrome(t *testing.T) {
    var tests = []struct {
        input string
        want  bool
    }{
        {"racecar", true},
        {"hello", false},
        {"", true},
    }
    for _, test := range tests {
        if got := isPalindrome(test.input); got != test.want {
            t.Errorf("isPalindrome(%q) = %v", test.input, got)
        }
    }
}

Ici, nous utilisons le package testing dans Go. Nous définissons une fonction de test appelée "TestIsPalindrome" qui parcourt la structure contenant les cas de test. À l'intérieur de la boucle, nous utilisons la fonction t.Errorf pour enregistrer l'erreur et imprimer les résultats réels et attendus.

3. Comment afficher les informations de couverture des tests dans le code

Pour afficher les informations de couverture des tests, vous devez exécuter la commande "go test -cover". Le compilateur Go générera un aperçu de la couverture pour illustrer le nombre de lignes de votre code de test couvrant votre code d'application. Un exemple est le suivant :

PASS
coverage: 83.3% of statements
ok      github.com/mediomelon/testing-in-go  0.003s

Ici on voit que le tableau de couverture montre que 83,3% du code (soit 5 lignes de code contenues par 5 tests) est couvert par les tests.

4. Utilisez des outils de couverture de test plus avancés

En plus d'une interface de ligne de commande simple, Go fournit également un outil de couverture de test plus avancé. Par exemple, gocov est un outil de couverture permettant de tester le code du langage Go. Il affiche des statistiques telles que la couverture, qui peuvent vous aider à comprendre le degré de couverture de votre code de test.

Utilisation spécifique de gocov :

  1. Installez d'abord l'outil gocov
  2. Téléchargez le code source
  3. #🎜 🎜 #Exécutez la commande "gocov test . | gocov report"
  4. Après l'exécution, la couverture sera affichée comme suit :
  5. github.com/mediomelon/testing-in-go/cmd/upgrade/main.go
    lines: 100.0% (1/1)
    
    total: 100.0% (1/1)
Summary#🎜🎜 ##🎜 🎜#Dans le langage de programmation Go, vérifier la couverture des tests est une tâche très importante. Une fois le code et les tests unitaires exécutés, utilisez la commande "Go test -cover" pour calculer le degré de couverture du code source par le code de test généré. Vous pouvez utiliser des outils tels que gocov pour en savoir plus sur les statistiques de couverture. En utilisant correctement la couverture de test, vous pouvez garantir la fiabilité, la maintenabilité et la stabilité de votre application et améliorer la qualité de votre code.

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