Chef InSpec vs terraform-plugin-testing
Chef InSpec
docs.chef.ioterraform-plugin-testing
github.comSide by side
| Figure | Chef InSpec | terraform-plugin-testing |
|---|---|---|
| Price from | $4.92/mo | Free |
| Free plan | Yes | Yes |
| Free trial | Yes | — |
| Open source | Yes | — |
| Windows | Yes | — |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | — |
| Self-hosted | Yes | — |
| Plans published | 8 | 1 |
| Spec score · Infrastructure Testing Tools | 9.4 (#1) | 7.2 (#21) |
| Purpose | Chef InSpec tests and audits applications and infrastructure by comparing their actual state with a desired state expressed in InSpec code. | terraform-plugin-testing is a Go helper module for testing Terraform providers. |
Plans
Chef InSpec
- FreeFree
- FreeFree
- TrialFree
- TrialFree
- Business$59 a year
- Enterprise$189 a year
- CommercialPriced on request
- Enterprise PlusPriced on request
In their own words
Chef InSpec
Chef InSpec tests and audits applications and infrastructure against a desired state described in InSpec code. Its runtime framework and rule language express compliance, security and policy requirements. Reusable profiles group controls and can include versioning, platform requirements and dependencies. Resources support testing AWS, Azure, AliCloud and GCP infrastructure, and users can create custom resources. Tests can run locally or against cloud services and infrastructure such as Linux in Docker containers. Results can be exported as JSON, HTML or plain text, or sent to Chef Automate. The kitchen-inspec verifier also runs profiles through Test Kitchen. Chef offers premium CIS- and STIG-based profiles for compliance scanning. The free tier is for non-production workloads and personal, non-commercial use; the 30-day trial is for product evaluation under non-production conditions. Commercial licensing covers production and non-production workloads, with entitlements based on purchase order. Chef InSpec 7 requires EULA acceptance, and license-key requirements depend on the distribution source. Telemetry is enabled for free and trial tiers, but not commercial users.
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.