Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Mencetak Maklumat Penyahpepijatan dalam Ujian Go?

Bagaimanakah Saya Mencetak Maklumat Penyahpepijatan dalam Ujian Go?

Mary-Kate Olsen
Lepaskan: 2024-12-04 00:02:10
asal
857 orang telah melayarinya

How Do I Print Debugging Information in Go Tests?

Log masuk Ujian Go Menggunakan Pakej "pengujian"

Apabila menulis ujian Go, mungkin terdapat keadaan di mana anda ingin mencetak maklumat untuk tujuan penyahpepijatan. Walau bagaimanapun, hanya memanggil fmt.Println dalam fungsi ujian tidak menghasilkan output yang boleh dilihat.

Secara lalai, output daripada pernyataan fmt.Println dalam ujian ditindas. Untuk memaparkan output sedemikian, anda mesti menggunakan kaedah .Log atau .Logf yang disediakan oleh struktur testing.T.

Menggunakan .Log dan .Logf

Serupa dengan fmt.Print dan fmt.Printf , .Log dan .Logf membolehkan anda mencetak output berformat. Sebagai contoh, daripada menggunakan:

func TestPrintSomething(t *testing.T) {
    fmt.Println("Say hi")
}
Salin selepas log masuk

Anda harus menggunakan:

func TestPrintSomething(t *testing.T) {
    t.Log("Say hi")
}
Salin selepas log masuk

Melihat Output dengan Verbosity

Walaupun menggunakan .Log, output mungkin tidak kelihatan melainkan anda memberikan bendera -v (verbosity) semasa menjalankan ujian go. Bendera ini boleh ditentukan menggunakan sintaks berikut:

go test -v your_test_file.go
Salin selepas log masuk

Dengan menambahkan bendera -v, output daripada .Penyataan Log akan dipaparkan pada konsol.

Mengapa Pernyataan Cetakan Disembunyikan

Pernyataan cetakan fmt.X sememangnya berfungsi dalam ujian. Walau bagaimanapun, output mereka biasanya tidak dipaparkan di lokasi yang dijangkakan kerana keputusan ujian diproses oleh infrastruktur ujian Go sebelum dicetak. Kaedah .Log, sebaliknya, direka khusus untuk memaparkan output berformat dalam persekitaran ujian dan boleh dikawal menggunakan bendera verbosity.

Atas ialah kandungan terperinci Bagaimanakah Saya Mencetak Maklumat Penyahpepijatan dalam Ujian Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan