Heim >Backend-Entwicklung >Golang >Warum funktioniert „fmt.Println()' nicht in Go-Tests und wie kann ich Debugging-Informationen drucken?
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!