Maison > développement back-end > Golang > Comment imprimer les informations de débogage dans les tests Go ?

Comment imprimer les informations de débogage dans les tests Go ?

Mary-Kate Olsen
Libérer: 2024-12-04 00:02:10
original
853 Les gens l'ont consulté

How Do I Print Debugging Information in Go Tests?

Connexion aux tests Go à l'aide du package "testing"

Lors de l'écriture de tests Go, il peut arriver que vous souhaitiez imprimer des informations à des fins de débogage. Cependant, le simple fait d'appeler fmt.Println dans une fonction de test ne produit pas de sortie visible.

Par défaut, la sortie des instructions fmt.Println dans les tests est supprimée. Pour afficher une telle sortie, vous devez utiliser les méthodes .Log ou .Logf fournies par la structure testing.T.

Utilisation de .Log et .Logf

Similaire à fmt.Print et fmt.Printf , .Log et .Logf vous permettent d'imprimer une sortie formatée. Par exemple, au lieu d'utiliser :

func TestPrintSomething(t *testing.T) {
    fmt.Println("Say hi")
}
Copier après la connexion

Vous devez utiliser :

func TestPrintSomething(t *testing.T) {
    t.Log("Say hi")
}
Copier après la connexion

Affichage de la sortie avec verbosité

Même lorsque vous utilisez .Log, la sortie peut ne pas être visible sauf si vous fournissez l'indicateur -v (verbosité) lors de l'exécution de go test. Cet indicateur peut être spécifié en utilisant la syntaxe suivante :

go test -v your_test_file.go
Copier après la connexion

En ajoutant l'indicateur -v, la sortie des instructions .Log sera affichée sur la console.

Pourquoi les instructions d'impression sont masquées

Les instructions d'impression fmt.X sont en effet fonctionnelles dans les tests. Cependant, leur sortie n'est généralement pas affichée à l'emplacement prévu car les résultats des tests sont traités par l'infrastructure de test Go avant d'être imprimés. Les méthodes .Log, quant à elles, sont spécifiquement conçues pour afficher une sortie formatée dans l'environnement de test et peuvent être contrôlées à l'aide de l'indicateur de verbosité.

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