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