Terratest用于基础设施测试的 Go 框架
Terratest 是一个开源的 Go 语言库,可更轻松地为基础设施代码编写自动化测试。它为通用基础设施的测试任务提供了各种帮助函数和模式,其中包括:
测试 Terraform 代码
测试打包器模板
测试 Docker 镜像
通过 SSH 在服务器上执行命令
使用 AWS API
发送 HTTP 请求
运行 shell 命令
这里有一个简单的例子来说明如何测试一些 Terraform 代码:
terraformOptions := &terraform.Options { // The path to where your Terraform code is located TerraformDir: "../examples/terraform-basic-example", } // At the end of the test, run `terraform destroy` to clean up any resources that were created defer terraform.Destroy(t, terraformOptions) // This will run `terraform init` and `terraform apply` and fail the test if there are any errors terraform.InitAndApply(t, terraformOptions) // Validate your code works as expected validateServerIsWorking(t, terraformOptions)
评论