我使用下面的代码来初始化与 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 关注
- 90 浏览
添加回答
举报
0/150
提交
取消