为了账号安全,请及时绑定邮箱和手机立即绑定

如何在测试中传递用户名和密码等参数

如何在测试中传递用户名和密码等参数

Go
慕虎7371278 2022-12-05 17:11:19
我使用下面的代码来初始化与 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)


    // ...

}


查看完整回答
反对 回复 2022-12-05
  • 1 回答
  • 0 关注
  • 90 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号