繁体   English   中英

Terratest 对错误的断言抛出错误

[英]Terratest throws error on assertions on errors

你好我有以下测试

func badTags(t *testing.T){
  terraformOptions := &terraform.Options{
        TerraformDir: "../bad_values",
    }
  tags := terraform.Output(t, terraformOptions, "test_required_tags")
  assert.Error(t, tags)

}

请注意,标签的值应该抛出错误,但我不断收到以下错误

string does not implement error (missing Error method)

如果我删除 assertion ,则会按预期抛出带有 String 消息的错误。 我如何断言错误?

assert.Error断言函数返回了错误。 ,就像:

if err == nil {
    t.Error("no error returned")
}

但是这里给定的参数是tags ,并且tags是一个字符串,根据terratest 文档,为什么您会收到以下错误:

string does not implement error (missing Error method)

使用OutputForKeys必须解决您的问题,请尝试以下操作:

func badTags(t *testing.T){
  terraformOptions := &terraform.Options{
        TerraformDir: "../bad_values",
    }
  validTags := terraform.OutputForKeys(t, terraformOptions, []string{"test_required_tags"})
  assert.Contains(t, validTags, "test_required_tags")
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM