首頁 >後端開發 >Golang >儘管定義了函數,為什麼 `go test` 顯示「沒有要執行的測試」?

儘管定義了函數,為什麼 `go test` 顯示「沒有要執行的測試」?

DDD
DDD原創
2024-12-18 05:47:13406瀏覽

Why Does `go test` Show

錯誤的測試函數命名

儘管定義了測試函數,但在執行go test 時遇到“沒有要運行的測試”消息。讓我們調查一下這個問題的原因。

Go 測試包期望測試函數遵守特定的命名約定。根據官方文件:

func TestXxx(t *testing.T) { ... }

在您的例子中,測試函數名為 testNormalizePhoneNum,它不符合上述約定。函數名稱的第一個字母必須大寫(“T”)。

解決方案:

要解決此問題,只需將測試函數重新命名為 TestNormalizePhoneNum(大寫) “T”)。完成此修改後,執行 go test 應該會成功執行您的測試案例。

替代方法:

或者,您可以強制測試套件運行您的非- 使用-run 標誌常規命名測試函數:

go test -run=testNormalizePhoneNum

此標誌可讓您指定測試函數的名稱(或與其名稱相符的正規表示式)您想要執行的。但是,通常不建議將這種方法用於常規測試目的。

以上是儘管定義了函數,為什麼 `go test` 顯示「沒有要執行的測試」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn