首頁 > 後端開發 > Golang > 為什麼即使測試函數存在,Go 也會報告「測試:警告:沒有要執行的測試」?

為什麼即使測試函數存在,Go 也會報告「測試:警告:沒有要執行的測試」?

Linda Hamilton
發布: 2024-12-13 15:15:16
原創
904 人瀏覽過

Why Does Go Report

儘管有測試函數“No Tests to Run”

在Go 中運行測試時,遇到錯誤“testing: warning: no tests to run”,儘管有測試功能可能會令人沮喪。以下是您可能遇到此問題的原因以及解決方法:

命名約定監督

Go 測試函數遵循特定的命名約定:它們必須以前綴「Test」開頭。如果您的測試函數名為“testNormalizePhoneNum”而不是“TestNormalizePhoneNum”,並帶有大寫“T”,則測試工具將忽略它。重新命名函數以遵守此約定。

使用正規表示式

對於需要測試不遵循命名約定的函數的高級場景,可以使用 -run 標誌在 go test 命令中。此標誌可讓您指定與測試函數名稱相符的正規表示式。例如,要強制執行“testNormalizePhoneNum”:

go test -run=testNormalizePhoneNum
登入後複製

排除測試檔案

「沒有要執行的測試」錯誤的另一個潛在原因是未包含您的測試檔案在測試套件中。確保您的 main_test.go 檔案與 main.go 在同一目錄中,並且測試檔案的名稱以“_test.go”結尾。

套件名稱不正確

如果套件名稱在你的 main_test.go 檔案與 main.go 中的套件名稱不匹配,測試工具將無法辨識測試函數。確保兩個檔案中的套件名稱相同。

函數簽章

測試函數必須有特定的簽章。它應該採用 *testing.T 類型的單一參數,並且不應該傳回任何內容。如果您的測試函數不符合此要求,測試工具將不會將其視為有效的測試函數。

遵守這些準則,您可以確保您的測試函數被測試正確識別並執行工具,使您能夠有效地測試您的 Go 程式碼。

以上是為什麼即使測試函數存在,Go 也會報告「測試:警告:沒有要執行的測試」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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