我使用下面的代碼來初始化與 avi 控制器的連接,
func TestAvi(t *testing.T) {
aviClient, err := clients.NewAviClient("<CONTROLLERNAME>", "<USERID>",
session.SetPassword("<PASSWORD"),
session.SetTenant("<TENANT>"),
session.SetInsecure)
if err != nil {
t.Error(err)
}
然后我運行go test命令來運行代碼。我想將 CONTROLLERNAME、USERID、PASSWORD 和 TENANT 外部化。這樣我就可以將這些作為引數傳遞給go test命令。
請問有什么幫助嗎?
uj5u.com熱心網友回復:
我不建議通過 CLI args 傳遞它們,它們經常被記錄。
一個簡單且使用最廣泛的解決方案是通過環境變數傳遞此類資訊,您可以使用該os.Getenv()函式讀取這些資訊。
如何設定環境變數完全取決于您,并且可能因系統而異。
例如:
func TestAvi(t *testing.T) {
controller := os.Getenv("AVI_CONTROLLERNAME")
password := os.Getenv("AVI_PASSWORD")
tenant := os.Getenv("AVI_TENANT")
userID := os.Getenv("AVI_USERID")
aviClient, err := clients.NewAviClient(controller, userID,
session.SetPassword(password),
session.SetTenant(tenant),
session.SetInsecure)
// ...
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/463928.html
上一篇:Gorm和多對多關系
下一篇:當我將math.NaN()和math.MaxFloat64轉換為int時,為什么go1.14.2和go1.17.2的結果不同?
