Skip to content
SPECIFICTION
Get listed

AWS CloudFormation vs terraform-plugin-testing

AWS CloudFormation

aws.amazon.com

terraform-plugin-testing

github.com

Side by side

FigureAWS CloudFormationterraform-plugin-testing
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WebYes—
WindowsYes—
macOSYesYes
LinuxYesYes
iOSYes—
APIYes—
Plans published31
Spec score · Infrastructure Testing Tools9.1 (#3)7.2 (#21)
PurposeCloudFormation models, provisions, and manages related AWS and third-party resources as infrastructure as code.terraform-plugin-testing is a Go helper module for testing Terraform providers.

Plans

AWS CloudFormation

  • AWS CloudFormationFree
  • CloudFormation serviceFree
  • Third-party resource providersFree

AWS CloudFormation pricing →

terraform-plugin-testing

  • Open sourceFree

terraform-plugin-testing pricing →

In their own words

AWS CloudFormation

AWS CloudFormation models, provisions, and manages related AWS and third-party resources as infrastructure as code. YAML or JSON templates define AWS resources and their properties. StackSets deploy a common set of resources across multiple AWS accounts and Regions; Change Sets preview proposed stack updates, including possible deletion or replacement, and Drift Detection tracks changes made outside the service. For authoring, AWS CDK supports TypeScript, Python, Java, and .NET, while AWS SAM offers shorthand YAML for serverless resources that is converted during deployment. The CloudFormation Registry supports third-party resources and modules, and stacks can be updated from remote Git repositories. The service is available through API, Linux, macOS, web, and Windows, and manages state. CloudFormation itself has a free plan, with no additional charge for AWS and Alexa resource providers, but created AWS resources are billed at their standard rates. Third-party provider and custom hook operations may also incur charges. Access can be managed with IAM, and CloudTrail logs API calls.

Visit aws.amazon.com

terraform-plugin-testing

terraform-plugin-testing is a free Go helper module for testing Terraform providers on Linux and macOS. It supports unit tests that exercise plugin code in isolation without network connections, and acceptance tests that run real Terraform plan, apply, refresh, and destroy operations. Acceptance testing includes Lifecycle, Import, Refresh, and Query modes. The plancheck package can inspect empty or non-empty plans, resource and data source values, and actions. The statecheck package checks known values, sensitive values, and comparisons between resource or data source attributes. The framework uses a local Terraform binary with standard Go testing tools, including go test and the testing package, so tests can run in continuous integration environments such as GitHub Actions. Acceptance runs may create and destroy infrastructure, which can consume quotas and incur expenses. Prerequisites include a recent stable Go release, Terraform CLI 0.12.26 or later, provider and resource access, and TF_ACC set to a value. The project uses Mozilla Public License v2.0.

Visit github.com