你好,我有以下测试
func badTags(t *testing.T){
terraformOptions := &terraform.Options{
TerraformDir: "../bad_values",
}
tags := terraform.Output(t, terraformOptions, "test_required_tags")
assert.Error(t, tags)
}请注意,tag的值应该抛出一个错误,但我一直收到以下错误
string does not implement error (missing Error method)如果我删除了断言,就会像预期的那样抛出一个带有字符串消息的错误。我如何对错误进行断言?
发布于 2020-03-31 21:07:19
assert.Error asserts that a function returned an error.,就像这样:
if err == nil {
t.Error("no error returned")
}但在这里,给定的参数是tags,而tags是一个字符串,根据terratest documentation,您会收到以下错误:
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")
}https://stackoverflow.com/questions/60893895
复制相似问题