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
Freigeben: 2024-12-28 19:17:10
Original
161 Leute haben es durchsucht

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")
}
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage