# add-property-based-testing

Команда анализирует код и добавляет тесты на свойства: ищет инварианты, подбирает фреймворк и создаёт генераторы данных. Вызывайте её, когда примеров тестов недостаточно.

- команда · `type=command` · Claude Code · 163 установки
- Автор: davila7
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/commands/testing/add-property-based-testing.md
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/commands/add-property-based-testing

## Что делает

Команда проверяет проект и предлагает настройку тестирования на свойства. Она ищет математические свойства функций и инварианты бизнес-логики, рассматривает симметрии и проверку обратного преобразования. В качестве фреймворков названы fast-check, Hypothesis, QuickCheck и proptest; выбор зависит от языка проекта.

Дальше команда создаёт генераторы данных, задаёт предусловия и проверки результатов, настраивает уменьшение падающих примеров и подключает тесты к существующему набору. В описании также есть проверка состояния и модели, параллельный запуск и тесты производительности. Для JavaScript и TypeScript команда ищет конфигурацию Jest, для Python — pytest; для прочих случаев проверка языка может определить проект как многоязычный.

Можно задать язык аргументом: JavaScript, Python, Java, Haskell, Rust или Clojure. Для остальных языков выбор по умолчанию не обещан, поэтому перед запуском стоит явно передать нужный аргумент.

## Установка

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

1. **Через claude-code-templates**
```bash
npx claude-code-templates@latest --command testing/add-property-based-testing
```

2. **Вручную: положить файлы**
- Файл: `.claude/commands/add-property-based-testing.md` — Вызов — /add-property-based-testing. Для всех проектов — ~/.claude/commands/

### Codex

**Вручную: положить файлы**
- Файл: `~/.codex/prompts/add-property-based-testing.md` — Вызов — /prompts:add-property-based-testing. В Codex этот формат помечен устаревшим, замена — скиллы

### GitHub Copilot

**Вручную: положить файлы**
- Файл: `.github/prompts/add-property-based-testing.prompt.md`

### Gemini CLI

**Вручную: положить файлы**
- Файл: `.gemini/commands/add-property-based-testing.toml` — Gemini хранит команды в TOML: текст запроса — в поле prompt

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/commands/testing/add-property-based-testing.md

## Когда брать
- найти инварианты в бизнес-логике
- проверить математические свойства функций
- создать генераторы тестовых данных
- уменьшить падающий пример до короткого случая
- подключить тесты на свойства к существующему набору

## Примеры запросов агенту
- Добавь тесты на свойства для Python-модуля с расчётами.
- Найди инварианты в логике корзины и создай подходящие генераторы.
- Настрой проверку обратного преобразования для JavaScript-кода.

## Похожие
- [review-pr](https://affpapa.org/nevibecode/commands/review-pr.md) — команда · ★ 44770
- [modernize-verify](https://affpapa.org/nevibecode/commands/modernize-verify.md) — команда · ★ 44770
- [modernize-uplift](https://affpapa.org/nevibecode/commands/modernize-uplift.md) — команда · ★ 44770

Из того же набора: [davila7/claude-code-templates](https://affpapa.org/nevibecode/by/davila7/claude-code-templates.md) — 651 карточка

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

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