Heim >Backend-Entwicklung >Golang >Wie drucke ich Debugging-Informationen in Go-Tests?

Wie drucke ich Debugging-Informationen in Go-Tests?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-04 00:02:10853Durchsuche

How Do I Print Debugging Information in Go Tests?

Anmelden bei Go-Tests mit dem Paket „testing“

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.

Verwendung von .Log und .Logf

Ä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")
}

Ausgabe mit Ausführlichkeit anzeigen

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.

Warum Druckanweisungen ausgeblendet sind

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn