首頁 > 後端開發 > Golang > 如何在Go測試中列印調試資訊?

如何在Go測試中列印調試資訊?

Mary-Kate Olsen
發布: 2024-12-04 00:02:10
原創
856 人瀏覽過

How Do I Print Debugging Information in Go Tests?

使用「testing」套件登入 Go 測試

編寫 Go 測試時,可能會出現需要列印資訊以進行偵錯的情況。但是,僅在測試函數中呼叫 fmt.Println 不會產生可見的輸出。

預設情況下,測試中 fmt.Println 語句的輸出被抑制。若要顯示此類輸出,必須使用testing.T結構提供的.Log或.Logf方法。

使用.Log和.Logf

類似於fmt.Print和fmt.Printf 、.Log 和.Logf 允許您列印格式化輸出。例如,不應使用:

func TestPrintSomething(t *testing.T) {
    fmt.Println("Say hi")
}
登入後複製

您應該使用:

func TestPrintSomething(t *testing.T) {
    t.Log("Say hi")
}
登入後複製

使用詳細資訊查看輸出

即使使用.Log,輸出也可能不可見除非您在執行go test 時提供-v (詳細程度)標誌。可以使用下列語法指定此標誌:

go test -v your_test_file.go
登入後複製

透過新增 -v 標誌,.Log 語句的輸出將顯示在控制台上。

為什麼隱藏列印語句

fmt.X 列印語句確實在測驗中運作。然而,它們的輸出通常不會顯示在預期位置,因為測試結果在列印之前由 Go 測試基礎設施進行處理。另一方面,.Log 方法專門設計用於在測試環境中顯示格式化輸出,並且可以使用詳細標誌進行控制。

以上是如何在Go測試中列印調試資訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板