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.
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") }
Vous devez utiliser :
func TestPrintSomething(t *testing.T) { t.Log("Say hi") }
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
En ajoutant l'indicateur -v, la sortie des instructions .Log sera affichée sur la console.
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!