provider-test-patterns — скилл для Claude Code: установка и суть
Скилл помогает писать и проверять приёмочные тесты для провайдеров Terraform на Plugin Framework через библиотеку terraform-plugin-testing.
npx skills add hashicorp/agent-skills --skill provider-test-patterns -a claude-codeЧто делает provider-test-patterns
Набор шаблонов задаёт структуру приёмочных тестов для провайдеров Terraform. Он описывает работу со структурами TestCase и TestStep, настройку фабрик ProtoV6ProviderFactories и проверку удаления ресурсов через CheckDestroy. По умолчанию сценарии запускаются параллельно через resource.ParallelTest.
Внутри собраны правила для современных проверок ConfigStateChecks с типами knownvalue и путями tfjsonpath. Смешивать устаревший Check и ConfigStateChecks в одном шаге теста нельзя. Это повод сразу разделить проверки или переписать старые вызовы на новый формат. Для тестирования импорта предусмотрены параметры ImportState и ImportStateVerify, а для временных ресурсов используется пакет echoprovider.
Фреймворк прогоняет цепочку из плана, применения, обновления и финального плана. Если после применения остаётся дифференциал, тест падает. Никаких лишних ручных утверждений для поиска дрифта писать не нужно.
Какие задачи решает
- написать приёмочный тест для ресурса Terraform на Plugin Framework
- добавить строгие проверки состояния через
ConfigStateChecksиknownvalue - проверить логику импорта существующего ресурса с
ImportStateVerify - настроить валидацию полного удаления инфраструктуры в
CheckDestroy
Примеры запросов агенту
- Помоги написать приёмочный тест для ресурса с проверкой значений через ConfigStateChecks
- Как настроить проверку импорта ресурса с игнорированием отдельных атрибутов в TestStep?
- Сделай тест с шагом обновления конфигурации и проверкой отсутствия дрифта
Как установить provider-test-patterns
1Через Skills CLI (Vercel)
npx skills add hashicorp/agent-skills --skill provider-test-patterns -a claude-code2Вручную: положить файлы
~/.claude/skills/provider-test-patterns/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/provider-test-patterns/
1Через Skills CLI (Vercel)
npx skills add hashicorp/agent-skills --skill provider-test-patterns -a codex2Вручную: положить файлы
.agents/skills/provider-test-patterns/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add hashicorp/agent-skills --skill provider-test-patterns -a cursor2Вручную: положить файлы
.cursor/skills/provider-test-patterns/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install hashicorp/agent-skills provider-test-patterns2Вручную: положить файлы
.github/skills/provider-test-patterns/SKILL.md1Через Skills CLI (Vercel)
npx skills add hashicorp/agent-skills --skill provider-test-patterns -a gemini-cli2Командой платформы
gemini skills install https://github.com/hashicorp/agent-skills --path plugins/terraform/skills/provider-test-patternsВручную: положить файлы
.devin/skills/provider-test-patterns/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add hashicorp/agent-skills --skill provider-test-patterns -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора15
Похожие
Рядом в теме «DevOps и инфраструктура»
Всё по теме «DevOps и инфраструктура» →Вопросы о provider-test-patterns
Как установить provider-test-patterns в Claude Code?
Выполните команду npx skills add hashicorp/agent-skills --skill provider-test-patterns -a claude-code. Файлы скилла загрузятся в рабочее окружение ассистента.
Что делает скилл provider-test-patterns?
Он предоставляет готовые шаблоны и правила для написания acceptance-тестов в провайдерах Terraform на базе библиотеки terraform-plugin-testing.
Можно ли совмещать Check и ConfigStateChecks в одном шаге?
Смешивать старый Check на базе TestCheckFunc и современный ConfigStateChecks внутри одного TestStep запрещено. Новые проверки нужно переводить на ConfigStateChecks, а TestCheckFunc оставлять для метода CheckDestroy.