Sto eseguendo un test in Go con una dichiarazione per stampare qualcosa (vale a dire per il debug dei test) ma non sta stampando nulla.Come si stampa in un test Go utilizzando il pacchetto "test"?
func TestPrintSomething(t *testing.T) {
fmt.Println("Say hi")
}
Quando eseguo andare prova su questo file, questo è l'output:
ok command-line-arguments 0.004s
L'unico modo per ottenere davvero per stampare, per quanto ne so, è quello di stampare via t .Error(), in questo modo:
func TestPrintSomethingAgain(t *testing.T) {
t.Error("Say hi")
}
Quali Risulterà:
Say hi
--- FAIL: TestPrintSomethingAgain (0.00 seconds)
foo_test.go:35: Say hi
FAIL
FAIL command-line-arguments 0.003s
gom: exit status 1
Ho cercato su Google e ho letto il manuale ma non ho trovato nulla.
t.Log() non verrà visualizzato fino a dopo il completamento del test, quindi se si sta tentando di eseguire il debug di un test che si blocca o si comporta male sembra che sia necessario utilizzare fmt. Vedere la risposta di PeterSO per l'utilizzo di go test -v per mostrare l'output di fmt.Println durante l'esecuzione dei test. – voutasaurus