Beim Schreiben von Go-Tests kann es vorkommen, dass Sie Informationen zu Debugging-Zwecken ausdrucken möchten. Der einfache Aufruf von fmt.Println innerhalb einer Testfunktion erzeugt jedoch keine sichtbare Ausgabe.
Standardmäßig wird die Ausgabe von fmt.Println-Anweisungen in Tests unterdrückt. Um eine solche Ausgabe anzuzeigen, müssen Sie die von der Testing.T-Struktur bereitgestellten Methoden .Log oder .Logf verwenden.
Ähnlich wie fmt.Print und fmt.Printf , .Log und .Logf ermöglichen Ihnen das Drucken formatierter Ausgaben. Anstatt beispielsweise Folgendes zu verwenden:
func TestPrintSomething(t *testing.T) { fmt.Println("Say hi") }
Sie sollten Folgendes verwenden:
func TestPrintSomething(t *testing.T) { t.Log("Say hi") }
Selbst wenn Sie .Log verwenden, ist die Ausgabe möglicherweise nicht sichtbar es sei denn, Sie geben beim Ausführen von go test das Flag -v (Ausführlichkeit) an. Dieses Flag kann mit der folgenden Syntax angegeben werden:
go test -v your_test_file.go
Durch Hinzufügen des Flags -v wird die Ausgabe von .Log-Anweisungen auf der Konsole angezeigt.
fmt.X-Druckanweisungen sind in Tests tatsächlich funktionsfähig. Ihre Ausgabe wird jedoch normalerweise nicht an der erwarteten Stelle angezeigt, da die Testergebnisse vor dem Drucken von der Go-Testinfrastruktur verarbeitet werden. Die .Log-Methoden hingegen sind speziell für die Anzeige formatierter Ausgaben innerhalb der Testumgebung konzipiert und können mithilfe des Verbosity-Flags gesteuert werden.
Das obige ist der detaillierte Inhalt vonWie drucke ich Debugging-Informationen in Go-Tests?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!