Terratest - 用于基础设施测试的 Go 框架


Apache-2.0
跨平台
Google 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)