首頁 >後端開發 >Golang >如何選擇性地執行 Go 測試並排除特定的套件或目錄?

如何選擇性地執行 Go 測試並排除特定的套件或目錄?

Susan Sarandon
Susan Sarandon原創
2024-12-15 21:17:14311瀏覽

How Can I Selectively Run Go Tests and Exclude Specific Packages or Directories?

選擇性測試:在Go 中跳過包

運行測試套件時,您可能會遇到想要從其中排除某些包或目錄的情況測試。在 Go 中,可以直接從命令列指定要測試的套件。

例如,假設您有一個如下所示的專案結構:

mypackage
mypackage/net
mypackage/other
mypackage/scripts

只測試mypackage 、 mypackage/other 和mypackage/net 包,同時排除mypackage/scripts,您可以使用以下內容指令:

go test import/path/to/mypackage import/path/to/mypackage/other import/path/to/mypackage/net

或者,如果您首選的shell語法允許,您可以使用以下簡寫:

go test import/path/to/mypackage{,/other,/net}

另一種方法涉及利用 go list,它會傳回套件清單匹配給定的模式。您可以將此輸出傳輸到grep 等命令,並過濾掉您不想測試的包,如下所示:

go test `go list ./... | grep -v directoriesToSkip`

如果跳過測試的原因是為了優化運行時,則測試函數本身可以檢查testing.Short()並決定是否使用t.Skip()跳過。這允許在呼叫 go test -short 時進行選擇性測試。

以上是如何選擇性地執行 Go 測試並排除特定的套件或目錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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