Terraform testを実行するサンプルコード
- Terraform
- v1.7.0以降
terraformディレクトリ内のterraform.tfvarsを自身のAzureの設定に適切に書き換える
- 各moduleディレクトリ内で
terraform init
を実行するterraform init
terraform test
を実行するterraform test
- terraformディレクトリ内で
terraform init
を実行するterraform init -test-directory=./test
terraform test
を実行するterraform test -test-directory=./test
稀に以下のようなエラーが発生する。
Terraform encountered an error destroying resources created while executing test/main.tftest.hcl/deploy.
╷
│ Error: waiting for update of Network Interface: (Name "nic-test" / Resource Group "Sandbox-RD"): Code="InternalServerError" Message="An error occurred." Details=[]
│
│
╵
Terraform left the following resources in state after executing test/main.tftest.hcl/deploy, and they need to be cleaned up manually:
- module.network.azurerm_subnet.subnet
- module.network.azurerm_virtual_network.vnet
- module.vm.azurerm_network_interface.network_interface
- module.vm.azurerm_network_interface_security_group_association.nic_nsg
- module.vm.azurerm_network_security_group.nsg
- module.vm.azurerm_public_ip.ip
Terraform encountered an error destroying resources created while executing test/main.tftest.hcl/request.
terraform test
ではterraform.state
をメモリ内に持つため一度エラーが発生するとterraformで削除することができない。
この場合、該当するリソースをAzure portal上またはcliを用いて削除する必要がある。