我是编写 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")