Maison >développement back-end >Golang >Comment déboguer efficacement les tests Go à l'aide de la journalisation ?

Comment déboguer efficacement les tests Go à l'aide de la journalisation ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-20 18:28:11947parcourir

How to Effectively Debug Go Tests Using Logging?

Débogage des tests Go avec journalisation

Lors de l'écriture de tests Go, vous souhaiterez peut-être imprimer des instructions à des fins de débogage. Cependant, contrairement aux programmes classiques, les impressions à l'intérieur des tests n'apparaissent pas directement à l'écran.

Utilisation de testing.T.Log et testing.T.Logf

Le package de tests fournit T.Log et T. Méthodes .Logf, qui sont respectivement équivalentes à fmt.Print et fmt.Printf. Ces méthodes dirigent les journaux vers un tampon spécifique, accessible avec l'indicateur -v (verbeux) lors de l'exécution de tests.

Exemple

func TestPrintSomething(t *testing.T) {
    t.Log("Say hi")
}

Lors de l'exécution avec go test -v, ceci le test affichera :

=== RUN   TestPrintSomething
Say hi
--- PASS: TestPrintSomething (0.00s)

Différences par rapport à fmt.Print

While fmt.Print instructions apparaissent directement sur la console, les logs T.Log et T.Logf sont mis en mémoire tampon. Cela signifie que :

  • Les journaux des tests réussis ne sont affichés que lorsque l'indicateur -v est utilisé.
  • Les journaux des tests ayant échoué sont toujours affichés, quel que soit l'indicateur -v.

Conclusion

Pour imprimer des instructions dans les tests Go, utilisez testing.T.Log ou testing.T.Logf au lieu de fmt.Imprimer. Cela garantit que vos journaux sont dirigés vers le bon tampon et affichés de manière appropriée.

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