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

Bagaimanakah Saya Mencetak Maklumat Penyahpepijatan dalam Ujian Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-04 00:02:10847semak imbas

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")
}

Anda harus menggunakan:

func TestPrintSomething(t *testing.T) {
    t.Log("Say hi")
}

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

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!

Kenyataan:
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