terraform-test

Installation
Summary

Comprehensive guide for writing and running Terraform tests with assertions, mocking, and module validation.

  • Write test files using .tftest.hcl syntax with run blocks that execute in plan or apply mode, supporting sequential and parallel execution with optional state isolation
  • Assert conditions on resource attributes, outputs, and data sources; use expect_failures to validate that invalid inputs are properly rejected
  • Mock providers (Terraform 1.7.0+) simulate infrastructure behavior without creating real resources, enabling fast unit tests without cloud costs or credentials
  • Test local modules and public registry modules with variable overrides, provider configuration, and cross-run output references for dependency validation
SKILL.md

Terraform Test

Terraform's built-in testing framework validates that configuration updates don't introduce breaking changes. Tests run against temporary resources, protecting existing infrastructure and state files.

Reference Files

  • references/MOCK_PROVIDERS.md — Mock provider syntax, common defaults, when to use mocks (Terraform 1.7.0+ only — skip if the user's version is below 1.7)
  • references/CI_CD.md — GitHub Actions and GitLab CI pipeline examples
  • references/EXAMPLES.md — Complete example test suite (unit, integration, and mock tests for a VPC module)

Read the relevant reference file when the user asks about mocking, CI/CD integration, or wants a full example.

Core Concepts

  • Test file (.tftest.hcl / .tftest.json): Contains run blocks that validate your configuration
  • Run block: A single test scenario with optional variables, providers, and assertions
  • Assert block: Conditions that must be true for the test to pass
  • Mock provider: Simulates provider behavior without real infrastructure (Terraform 1.7.0+)
  • Test modes: apply (default, creates real resources) or plan (validates logic only)
Related skills
Installs
2.8K
GitHub Stars
613
First Seen
Jan 26, 2026