在 Go 測試中取得命令列參數
使用 go test 執行測試時,main 函數不會被執行。這就提出瞭如何存取測試案例中的命令列參數的問題。
常見的方法是使用 flags 套件並手動檢查每個測試或函數中的參數。然而,隨著測試數量的增加,這種方法可能會變得乏味且容易出錯。
相反,可以使用環境變數或初始化函數來存取測試中的命令列參數。
環境變數
環境變數提供了一種將設定資料傳遞到測試環境的便利方法。要在測試中存取環境變量,只需使用os.Getenv 函數:
envSetting := os.Getenv("TEST_ENV")
初始化函數
或者,您可以定義初始化函數來設定基於命令列參數的全域變數。 init() 函數在任何測試案例之前執行,使其非常適合初始化目的:
func init() { flags.Parse() myEnv = *envFlag }
透過利用這些技術,您可以有效地存取Go 測試中的命令列參數並保持測試和主函數之間的分離功能。
以上是如何在 Go 測試中存取命令列參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!