Ich habe diese Funktion, die den Fehler in einigen Fällen protokolliert:Wie überprüfe ich einen Log/Output im Go-Test?
func readByte(/*...*/){
// ...
if err != nil {
fmt.Println("ERROR")
log.Print("Couldn't read first byte")
return
}
// ...
}
nun in der Testdatei, ich möchte den Ausgabefehler von dieser Funktion überprüfen:
c.Assert(OUTPUT, check.Matches, "teste")
Wie kann ich das Protokoll? Ich habe versucht, einen Puffer zu setzen, aber es hat nicht funktioniert. Was ist der richtige Weg, um dieses Protokoll zu fangen, ohne meinen readByte Funktionscode zu ändern?
Was hat nicht zu einem Puffer das Protokoll über das Schreiben? – JimB
der Puffer ist leer. Das OUTPUT gibt "" zurück. Ich überprüfe, ob das Protokoll schreibt und es ist in Ordnung, aber mein Puffer ist immer leer. – Vivi
So zeigen Sie, wie Sie in den Puffer schreiben. Es gibt keinen Grund, dass Sie nicht in der Lage sein sollten, in einen Puffer zu schreiben und es später zu überprüfen. – JimB