# test-environments

Помогает выстроить стратегию тестовых окружений от локальной разработки до CI и staging. Пригодится, когда нужно изолировать окружения для каждого PR и устранить падения тестов.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1300 установок · ★ 211
- Автор: kindlmann
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/petrkindlmann/qa-skills/tree/HEAD/skills/test-environments/SKILL.md
- Обновлён: 2026-10-22
- HTML: https://affpapa.org/nevibecode/skills/test-environments

## Что делает

Скилл помогает спроектировать уровни окружений для тестирования: от локального контура и CI до preview-стендов и staging. В его основе лежит принцип паритета с продакшеном там, где чаще всего прячутся ошибки: версии баз данных, брокеры очередей и кэш. Если staging работает на SQLite, а продакшен на PostgreSQL, такие тесты пропускают критические дефекты. Внешние вызовы к сторонним API изолируются на уровне HTTP-заглушек через MSW или WireMock, чтобы убрать случайные сбои в пайплайнах.

Внутри заложен чеклист вопросов для анализа репозитория и готовые шаблоны конфигураций. Скилл сначала проверяет файл `.agents/qa-project-context.md`. Если файла нет, он выясняет степень контейнеризации приложения, способ генерации сид-данных и структуру внешних зависимостей. Для запуска тестовой инфраструктуры сравниваются два подхода: декларативный Docker Compose для общих стендов и Testcontainers для изолированных контейнеров, управляемых прямо из кода тестов.

Инструмент не решает задачи генерации фабричных данных и не настраивает сами шаги в пайплайнах CI/CD. Для этого автор отсылает к отдельным скиллам `test-data-management` и `ci-cd-integration`.

## Требования
- Работает с: Docker

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add petrkindlmann/qa-skills --skill test-environments -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/test-environments/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/test-environments/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add petrkindlmann/qa-skills --skill test-environments -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/test-environments/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add petrkindlmann/qa-skills --skill test-environments -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/test-environments/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install petrkindlmann/qa-skills test-environments
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/test-environments/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add petrkindlmann/qa-skills --skill test-environments -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/petrkindlmann/qa-skills --path skills/test-environments
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/test-environments/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add petrkindlmann/qa-skills --skill test-environments -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/petrkindlmann/qa-skills/tree/HEAD/skills/test-environments/SKILL.md

## Когда брать
- устранить расхождения между staging и продакшеном по базам данных и кэшу
- изолировать тестовые окружения под каждый pull request
- заглушить сторонние HTTP API через MSW или WireMock для стабильного CI
- выбрать между Docker Compose и Testcontainers для запуска сервисов

## Примеры запросов агенту
- Настрой тестовое окружение и подготовь docker-compose.test.yml для базы данных и кэша
- Помоги организовать изолированные стенды для тестирования каждого пулл-реквеста
- Проверь паритет между окружениями staging и production и настрой заглушки для внешних API

## Похожие
- [docker-expert](https://affpapa.org/nevibecode/skills/pcl-team-docker-expert.md) — скилл · 365 установок
- [deploying-airflow](https://affpapa.org/nevibecode/skills/deploying-airflow.md) — скилл · 786 установок
- [Docker Configuration Validator](https://affpapa.org/nevibecode/skills/docker-configuration-validator.md) — скилл · 336 установок
- [containerize-application](https://affpapa.org/nevibecode/commands/containerize-application.md) — команда · 1200 установок
- [devops-engineer](https://affpapa.org/nevibecode/agents/devops-engineer.md) — субагент · 7392 установки
- [testcontainers](https://affpapa.org/nevibecode/skills/testcontainers.md) — скилл · 565 установок

Из того же набора: [petrkindlmann/qa-skills](https://affpapa.org/nevibecode/by/petrkindlmann/qa-skills.md) — 49 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
