You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Terratest测试Azure资源时遇类型错误构建失败

问题解决:Terratest测试Azure资源组存在时的参数类型错误

错误原因

调用azure.ResourceGroupExistsE时参数顺序错误,当前版本的Terratest中该函数要求第一个参数为Azure订阅ID(string类型),第二个是资源组名称,第三个才是*testing.T对象。你将*testing.T作为第一个参数传入,导致类型不匹配,触发编译错误。

修正后的代码

package test

import (
    "testing"
    "github.com/gruntwork-io/terratest/modules/azure"
    "github.com/stretchr/testify/assert"
)

func TestResourceGroupExists(t *testing.T) {
    resourceGroupName := "myResourceGroup"
    // 从环境变量AZURE_SUBSCRIPTION_ID读取订阅ID,也可直接替换为你的订阅ID字符串
    subscriptionID := azure.GetSubscriptionIDFromEnvironmentVar(t)

    // 调整参数顺序,符合函数要求
    exists, err := azure.ResourceGroupExistsE(subscriptionID, resourceGroupName, t)

    assert.NoError(t, err)
    assert.True(t, exists, "Resource group does not exist.")
}

注意事项

  • 运行测试前,确保环境变量AZURE_SUBSCRIPTION_ID已正确配置,或直接将subscriptionID赋值为你的Azure订阅ID。
  • 需完成Azure认证:可通过az login命令登录CLI,或设置AZURE_CLIENT_ID、AZURE_CLIENT_SECRET、AZURE_TENANT_ID等服务主体认证环境变量。

内容的提问来源于stack exchange,提问作者Hayk Mkhitaryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 22:37:27