如何在测试中传递诸如用户名和密码之类的参数

发布于 2025-01-23 19:59:25 字数 507 浏览 3 评论 0原文

我使用以下代码来初始化与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,用户ID,密码和租户外部化。这样我就可以将这些作为参数将其传递给 go test test 命令。

有什么帮助吗?

I use below code to initialize connection to avi controller,

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)
    }

And then I run go test command to run the code.
I would like to externalize CONTROLLERNAME, USERID, PASSWORD and TENANT. So that I can pass those as arguments to go test command.

Any assistance please?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

深空失忆 2025-01-30 19:59:25

我不建议通过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)

    // ...
}

I don't recommend passing those via CLI args, they are often logged.

A simple and most widely used solution is to pass such information via environment variables, which you can read using the os.Getenv() function.

How you set the environment variables is entirely up to you and may vary from system to system.

For example:

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)

    // ...
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文