问题标签 [terratest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
188 浏览

azure - 使用 Terratest 运行测试,但会引发“无测试文件”错误

我正在为 Azure 中的 terraform 进行 terratest。目前正在使用以下链接中给出的示例代码 - https://docs.microsoft.com/en-us/azure/developer/terraform/best-practices-end-to-end-testing

当我尝试运行go test -v它时,它会给出[无测试文件],不知道为什么。

任何人都可以帮忙吗?

0 投票
0 回答
43 浏览

terratest - 如何将测试报告生成到文件中

我目前正在运行几个 terratests。在控制台上,我可以在添加 -v 选项时看到日志,但是如何生成通过/失败测试的测试报告?可能是 html 或 pdf 格式

0 投票
0 回答
117 浏览

terraform - 如何使用 Terratest 测试我的资源是否可以免受意外破坏?

我正在构建一个 Terraform 模块来使用 AWS S3 和 AWS DynamoDB 创建一个 Terraform 远程后端,并希望避免通过terraform destroy. 因此,我使用此解决方法lifecycle { prevent_destroy = true }申请我的模块的资源:

接下来,我想通过调用来测试资源是否不会被破坏,terraform destroy以确保我的模块按预期工作。Terratest正如 Yevgeniy Brikman 在Terraform: Up and Running中解释的那样,我使用库创建了一个测试:

正如预期的那样,测试失败了:

我如何断言在天真的调用之后引发了错误terraform.Destroy?另外,我怎样才能在这个测试后正确清理?我想删除保护器并在之后销毁资源。

0 投票
1 回答
198 浏览

go - 如何安装 Azure terratest 模块

安装 azure 模块时出现以下错误。

代码:

执行:

错误:

有人可以帮助我了解消除此错误所需的更改吗?

0 投票
1 回答
31 浏览

go - 用于函数重用的 Terratest 实用程序 pkg

人们有可能在 terratest 测试包中的 * _test.go中创建 utils.go,以利用在所有 _test.go 中执行某些常见验证例程的函数。

我尝试utils/utils.go在 * _test.go中创建并导入为"../tests/utils". 这种方式能够像go test sample_test.go -vor一样运行单个测试,go test another_sample_test.go -v并且它会产生。

但是当我尝试go test -v它抱怨无法引用本地包时。

我只是一个初学者,一般来说是 terratest 和 go lang。非常感谢任何线索。谢谢。

0 投票
2 回答
184 浏览

go - 如何将 Terraform 字符串集的字符串表示形式转换为字符串切片

我有一个 terratest ,我可以像这样从 terraform 获得输出s := "[a b]"。terraform 输出的value = toset([resource.name]),它是一组字符串。

显然fmt.Printf("%T", s)返回string。我需要迭代以执行进一步的验证。

我尝试了以下方法,但错误!

我当前转换为切片的实现是:

寻找当前方法的建议或转换为我应该考虑的 arr/slice 的替代方法。感谢任何输入。谢谢。

0 投票
0 回答
127 浏览

amazon-ec2 - Terratest 在使用 Count 和 Terraform 创建 EC2 时出现错误

Terratest 使用 Terraform 测试配置的 EC2 实例时出现错误,我正在使用 count 创建多个实例,并且似乎函数 (GetPublicIpOfEc2Instance) 在返回多个实例 id 时感到困惑,有没有办法让它接受多个值?

地形测试代码:

地形代码:

0 投票
0 回答
21 浏览

amazon-web-services - 在使用 Github Runner 的 Terratest 中使用 HttpGet 方法获取连接被拒绝

在 Github 运行器上使用 Terratest 进行测试时,使用 HttpGet 方法时出现错误(连接被拒绝),但是在我的本地计算机上运行相同的测试代码时,它通过没有问题。

代码生成的 url 可以毫无问题地访问,甚至具有正确端口 80 的解析 IP 也可以正常工作!这里可能是什么问题?我相信 80 端口应该在运行器上打开,因为它可以通过 http 端口获取包。

Github 操作错误

Terratest 代码

0 投票
1 回答
262 浏览

terraform - 如何使用 for 循环连接 Terraform 输出中的字符串?

我有多个aws_glue_catalog_table资源,我想创建一个output循环遍历所有资源以显示每个资源的 S3 存储桶位置的单个资源。这样做的目的是测试我是否location为 Terratest 中的每个资源使用了正确的(因为它是变量的串联)。我不能使用aws_glue_catalog_table.*或者aws_glue_catalog_table.[]因为 Terraform 不允许在不指定资源名称的情况下引用资源。

所以我variable "table_names"r1, r2, rx. 然后,我可以遍历名称。我想aws_glue_catalog_table.r1.storage_descriptor[0].location动态创建字符串,所以我可以检查它location是否正确。

第一次尝试:我尝试output "athena_tables_location"使用语法创建一个,aws_glue_catalog_table.${table}但确实如此。

第二次尝试:我尝试创建一个但 IntelliJ 已经在 for loop 中variable "table_name_locations"显示错误。${t}[for t in var.table_names : "aws_glue_catalog_table.${t}.storage_descriptor[0].location"]

如何列出所有表格位置,output然后使用 Terratest 对其进行测试?一旦我可以遍历表并收集 S3 位置,我就可以使用 Terratest 进行以下测试:

0 投票
0 回答
25 浏览

terratest - 需要有关使用 terratest 完成管道后如何测试 Vertex AI 端点的信息

我创建了 Vertex AI 部署管道。管道采用模型,创建端点并部署它。为此,我正在使用 go 语言编写 terratest。我能够验证这两个测试用例,管道存在并且管道成功。我想再添加一个测试,端点正在工作并给出预测。我需要一些示例代码来解释如何实现这一点。