Maison >développement back-end >Golang >Comment puis-je imprimer de manière fiable des messages de débogage dans les tests Go ?

Comment puis-je imprimer de manière fiable des messages de débogage dans les tests Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-13 17:26:10558parcourir

How Can I Reliably Print Debug Messages in Go Tests?

Comment imprimer efficacement des messages dans les tests Go

Pendant les tests dans Go, il peut être utile d'imprimer des messages à des fins de débogage. Cependant, l'utilisation de fmt.Println ne produit pas toujours le résultat attendu. Au lieu de cela, les méthodes suivantes offrent des options d'impression plus fiables lorsque vous travaillez avec des tests.

Méthodes de journalisation Testing.T et Testing.B :

Testing.T et testing. Les structures B fournissent les méthodes de journalisation suivantes :

  • .Log : similaire à fmt.Print
  • .Logf : similaire à fmt.Printf

Ces méthodes sont spécifiquement conçues pour être utilisées dans les tests et garantissent que les messages imprimés sont correctement géré.

Exemple :

func TestPrintSomething(t *testing.T) {
    t.Log("Say hi") // Prints "Say hi" using the .Log method
}

Test de sortie avec l'indicateur -v :

Instructions d'impression fmt.X standard peut en effet fonctionner dans le cadre de tests. Cependant, leur sortie peut ne pas être affichée immédiatement à l'écran. Pour voir le résultat, l'indicateur "-v" (verbosité) doit être passé pour procéder au test.

go test -v

Avec l'indicateur "-v", le test imprimera les messages du journal pour la réussite et l'échec. tests.

Remarque :

La méthode de test .Error.T peut également être utilisée pour imprimer des messages. Cependant, il est destiné à signaler des erreurs et marquera le test comme ayant échoué. Les méthodes .Log offrent une option plus propre et plus appropriée pour une impression informative sans affecter le résultat du test.

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