Heim >Backend-Entwicklung >Golang >Warum funktioniert „fmt.Println()' nicht in Go-Tests und wie kann ich Debugging-Informationen drucken?

Warum funktioniert „fmt.Println()' nicht in Go-Tests und wie kann ich Debugging-Informationen drucken?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-28 19:17:10140Durchsuche

Why Doesn't `fmt.Println()` Work in Go Tests, and How Can I Print Debugging Information?

Drucken in Go-Tests mit dem „testing“-Paket

Stellen Sie sich vor, Sie beheben einen fehlgeschlagenen Test und möchten Druckanweisungen zum Debuggen hinzufügen , aber beim Ausführen des Tests wird nichts angezeigt. Warum ist das so?

In Go funktionieren die integrierten fmt.Println()-Anweisungen in Tests nicht wie erwartet. Stattdessen stellt das Paket „testing“ alternative Methoden zum Drucken bereit.

Die Strukturen test.T und test.B verfügen über die Methoden .Log und .Logf, die ähnliche Funktionalitäten wie fmt.Print und fmt.Printf bieten. Mit diesen Methoden können Sie Anweisungen innerhalb von Tests drucken.

Beispiel:

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

Allerdings ist die Ausgabe selbst mit diesen Methoden möglicherweise nicht sofort sichtbar. Um die Protokollmeldungen anzuzeigen, müssen Sie beim Ausführen der Tests das Flag -v (für Ausführlichkeit) angeben:

go test -v

Mit dem Flag -v werden die Protokollmeldungen zusammen mit den Testergebnissen gedruckt Sie erhalten die Debugging-Informationen, die Sie benötigen.

Das obige ist der detaillierte Inhalt vonWarum funktioniert „fmt.Println()' nicht in Go-Tests und wie kann ich Debugging-Informationen drucken?. 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