我使用下面的代碼來初始化與 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命令。請問有什么幫助嗎?
1 回答

慕容森
TA貢獻1853條經驗 獲得超18個贊
我不建議通過 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)
// ...
}
- 1 回答
- 0 關注
- 81 瀏覽
添加回答
舉報
0/150
提交
取消