terratest assert。等于不匹配,可以让它们匹配吗?

时间:2020-10-13 14:21:43

标签: terraform terratest

我刚开始编写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")

0 个答案:

没有答案