run-acceptance-tests
Execute and diagnose Go acceptance tests for Terraform providers with structured troubleshooting.
- Run focused acceptance tests using
go test -run=TestAccFeatureHappyPathwithTF_ACC=1environment variable - Diagnose failures progressively: retry with
-count=1, enable verbose output with-v, activate debug logging viaTF_LOG=debug, and persist Terraform workspace withTF_ACC_WORKING_DIR_PERSIST=1 - Validate test reliability by intentionally breaking a TestCheckFunc, re-running the test to confirm it fails, then reverting the change
- Handle provider-specific environment variables by detecting missing variables in test output and guiding secure setup
An acceptance test is a Go test function with the prefix TestAcc.
To run a focussed acceptance test named TestAccFeatureHappyPath:
-
Run
go test -run=TestAccFeatureHappyPathwith the following environment variables:TF_ACC=1
Default to non-verbose test output.
-
The acceptance tests may require additional environment variables for specific providers. If the test output indicates missing environment variables, then suggest how to set up these environment variables securely.
To diagnose a failing acceptance test, use these options, in order. These options are cumulative: each option includes all the options above it.
- Run the test again. Use the
-count=1option to ensure thatgo testdoes not use a cached result. - Offer verbose
go testoutput. Use the-voption.
More from hashicorp/agent-skills
terraform-style-guide
Generate Terraform HCL code following HashiCorp's official style conventions and best practices. Use when writing, reviewing, or generating Terraform configurations.
4.5Kterraform-test
Comprehensive guide for writing and running Terraform tests. Use when creating test files (.tftest.hcl), writing test scenarios with run blocks, validating infrastructure behavior with assertions, mocking providers and data sources, testing module outputs and resource configurations, or troubleshooting Terraform test syntax and execution.
2.8Krefactor-module
Transform monolithic Terraform configurations into reusable, maintainable modules following HashiCorp's module design principles and community best practices.
2.2Kterraform-stacks
Comprehensive guide for working with HashiCorp Terraform Stacks. Use when creating, modifying, or validating Terraform Stack configurations (.tfcomponent.hcl, .tfdeploy.hcl files), working with stack components and deployments from local modules, public registry, or private registry sources, managing multi-region or multi-environment infrastructure, or troubleshooting Terraform Stacks syntax and structure.
2.1Kprovider-resources
Implement Terraform Provider resources and data sources using the Plugin Framework. Use when developing CRUD operations, schema design, state management, and acceptance testing for provider resources.
1.4Kterraform-search-import
Discover existing cloud resources using Terraform Search queries and bulk import them into Terraform management. Use when bringing unmanaged infrastructure under Terraform control, auditing cloud resources, or migrating to IaC.
1.4K