解析Go“測試”中的命令列參數
使用“go test”命令時,應用程式的主要功能不是調用,讓開發人員想知道如何在測試中處理命令列參數。
儘管可以使用 flags 套件並檢查每個測試或函數中的參數,這種方法很麻煩,需要大量重複。
對於某些情況,繞過單元測試純度並通過命令列傳遞參數可能是一個可以接受的解決方案,因為它提供了好處例如避免對環境變量的依賴並提供功能靈活性。
一種方法涉及在 _test 檔案中定義 init() 函數。當測試套件執行時,將呼叫此函數並根據命令列參數初始化變量,模擬直接運行應用程式時主函數的行為。
或者,如果 flags 套件是必需的根據要求,初始化程式碼可以放置在 testing.t 結構內的 init() 函數中。這允許在執行測試案例之前解析標誌。
例如:
func init() { flag.Parse() envSetting = flag.String("env", "", "Environment setting") }
以上是如何解析 Go 測試中的命令列參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!