選擇性測試:在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中文網其他相關文章!