linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
Intro
Lessons
Footer
linuxlab-УчебникиЦеныО платформеКонфиденциальность и куки
Copyright © 2026 LinuxLab. Все права защищены.
linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
  • Введение
  • Уроки
  • How it works
  • База знаний
  • Шпаргалка
  • Capstone
  • Собеседование
home/terraform/kb/Тестирование

kb/testing

Тестирование Terraform: .tftest.hcl, mocks, Terratest

Тесты для инфры, не миф. Нативный `.tftest.hcl` (TF 1.6+) с `run` и `assert`, mock-провайдеры для unit-тестов без облака, Terratest для интеграционных сценариев на Go, terraform-compliance для BDD-policy. Что тестировать, что нет, и как не превратить test suite в самостоятельный проект.

  • tf-test-mocksMock-провайдеры: mock_provider, override_resource, override_data

    Mock-провайдер заменяет реальный AWS на синтезированные ответы, тест бежит без облака, секунды вместо минут. Объявляется в `*.tftest.hcl` через `mock_provider "aws"`. Точечно подменить отдельный ресурс или data-source, `override_resource` и `override_data`. Без mock'ов любой `command = apply` будет требовать LocalStack.

  • terraform-complianceterraform-compliance: BDD-проверки на plan-файл

    Утилита terraform-compliance читает plan-файл (`plan.json`) и применяет к нему BDD-правила в Gherkin. «Given a resource of type X, it must contain a property Y», читаемо для не-инженеров, гарантирует политику до apply. Альтернатива OPA/Rego для команд, которые предпочитают естественный язык, но менее мощная, нельзя писать сложные cross-resource проверки.

  • terratest-basicsTerratest: интеграционные тесты Terraform на Go

    Terratest, Go-библиотека от Gruntwork. Поднимает Terraform, ходит по AWS-API проверять что ресурсы реально созданы такими, как ожидаем, затем сносит. Тяжелее нативного `.tftest.hcl`, но даёт то, чего тот не даст: проверки облачного состояния, HTTP-запросы к подъятому сервису, table-driven тесты, retry-логика. Тесты на Go в `_test.go` файлах рядом с модулями.

  • iac-testing-theoryЧто тестировать в Terraform, а что: не надо

    Инфраструктура, не приложение, тест-пирамиду применять буквально не стоит. Тестируй контракты модулей, бизнес-правила, сложные expressions, рефакторинги без destroy. Не тестируй что provider работает, что AWS-API отвечает 200, и тривиальный `name = var.name`. Цель, ловить регрессии, не доказывать корректность.

Footer
linuxlab-
Copyright © 2026 LinuxLab. Все права защищены.
Учебники
Цены
О платформе
Конфиденциальность и куки