0

我是编写 terratest go 测试的新手。我有一个简单的测试,我想检查 VMSize,以确保它具有正确的大小。

函数 azure.GetSizeOfVirtualMachine() 获取值并将其存储在变量“testVMSize”中,然后我设置了另一个变量 expectedVMSize :=“Standard_B2ms”来比较它。

最后,我使用 testify/assert 来比较这两个值,如果我将它们打印到屏幕上,它们会显示为相同的“Standard_B2ms”,但是当我运行 assert.Equal 时,它会说它们不同。输出如下。

我可以看到类型不同,我认为这就是它们失败的原因。我希望有人能告诉我如何更改 testVMSize 使其与预期的 VMSize 匹配相同的类型,或者告诉我如何从 testVMSize 中获取值以便我可以将其存储为字符串类型。

谢谢R

package TestWindowsvm

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

func TestWindowsvm(t *testing.T) {
    t.Parallel()

    dependenciesopts := &terraform.Options{
        TerraformDir: "./dependencies",
        VarFiles: []string{"testing.tfvars"},
    }

    defer terraform.Destroy(t, dependenciesopts)
    terraform.InitAndApply(t, dependenciesopts)


    opts := &terraform.Options{
        TerraformDir: "./fixture",
        
    }


    defer terraform.Destroy(t, opts)
    terraform.InitAndApply(t, opts)


    var vmname = "fo35r00"
    var resourcegroup = "Dce"
    var subscriptionID ="2----3"
    

    testvmsize := azure.GetSizeOfVirtualMachine(t, vmname, resourcegroup, subscriptionID)
    
    expectedVMSize := "Standard_B2ms"
    fmt.Println(testvmsize)

     assert.Equal(t, expectedVMSize, testvmsize )
    
}

这是错误消息

        Error:          Not equal:
                        expected: string("Standard_B2ms")
                        actual  : compute.VirtualMachineSizeTypes("Standard_B2ms")
4

0 回答 0