К основному содержанию
команда

add-property-based-testing — команда для Claude Code: настройка тестов

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

Установить в Claude Code · Через claude-code-templates Все способы и платформы ↓
npx claude-code-templates@latest --command testing/add-property-based-testing
Открыть на GitHub

Что делает add-property-based-testing

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

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

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

Какие задачи решает

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

Примеры запросов агенту

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

Как установить add-property-based-testing

1Через claude-code-templates

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/

Вопросы о add-property-based-testing

Как установить add-property-based-testing в Claude Code?

Выполните npx claude-code-templates@latest --command testing/add-property-based-testing. Локальный файл команды находится по пути .claude/commands/add-property-based-testing.md.

Что делает add-property-based-testing?

Команда анализирует проект, подбирает фреймворк для тестов на свойства и помогает выявить инварианты. Затем она создаёт генераторы и добавляет тесты в существующий набор.

Какие языки поддерживает add-property-based-testing?

Можно указать JavaScript, Python, Java, Haskell, Rust или Clojure. Команда также пытается определить язык по файлам проекта.

Исходный текст

add-property-based-testing.md · MIT
---
allowed-tools: Read, Write, Edit, Bash
argument-hint: "[language] | --javascript | --python | --java | --haskell | --rust | --clojure"
description: Implement property-based testing with framework selection and invariant identification
---

# Add Property-Based Testing

Implement property-based testing framework with invariant analysis and test generation: **$ARGUMENTS**

## Current Testing Context

- Language: !`find . -name "*.js" -o -name "*.ts" | head -1 >/dev/null && echo "JavaScript/TypeScript" || find . -name "*.py" | head -1 >/dev/null && echo "Python" || echo "Multi-language"`
- Test framework: !`find . -name "jest.config.*" -o -name "pytest.ini" | head -1 || echo "Detect framework"`
- Mathematical functions: Analysis of codebase for property-testable functions
- Business logic: Identification of invariants and properties in domain logic

## Task

Implement comprehensive property-based testing with invariant analysis and automated test generation:

**Language Focus**: Use $ARGUMENTS to specify JavaScript, Python, Java, Haskell, Rust, Clojure, or auto-detect from codebase

**Property-Based Testing Framework**:

1. **Framework Selection** - Choose appropriate tool (fast-check, Hypothesis, QuickCheck, proptest), install dependencies, configure integration
2. **Property Identification** - Analyze mathematical properties, identify business invariants, discover symmetries, evaluate round-trip properties
3. **Generator Design** - Create custom data generators, implement constraint-based generation, design composite generators, optimize generation strategies
4. **Property Implementation** - Write property tests, implement preconditions, design postconditions, create invariant checks
5. **Shrinking Configuration** - Configure test case shrinking, optimize failure minimization, implement custom shrinkers, enhance debugging
6. **Integration & Reporting** - Integrate with existing test suite, configure reporting, setup CI integration, optimize execution performance

**Advanced Features**: Stateful property testing, model-based testing, custom generators, parallel property execution, performance property testing.

**Quality Assurance**: Property completeness analysis, edge case coverage, performance optimization, maintainability assessment.

**Output**: Complete property-based testing setup with identified properties, custom generators, integrated test suite, and performance optimization.

© davila7 · MIT · davila7/claude-code-templates

Похожие слэш-команды

Все слэш-команды по теме «Тесты и QA» →

Из того же набора651

Весь набор →
screenshot-analyzer Разбирает скриншоты интерфейса через параллельных субагентов и формирует готовый список задач на разработку в Markdown-файл. 165установок backend-to-frontend-handoff-docs Скилл собирает API-хендофф-документ для фронтенд-разработчиков: эндпоинты, DTO, валидация и граничные случаи в одном markdown-файле. 164установок aws-serverless Скилл помогает проектировать AWS-приложения на Lambda с API Gateway, DynamoDB и обработкой событий через SQS. Пригодится для настройки серверных функций и их развёртывания через SAM. 163установок change-logger Хук пишет каждое изменение файла в CSV: время, инструмент, путь, действие и детали. Пригодится, когда готовишь демо и нужно показать, что именно агент трогал. 163установок pac-validate Команда проверяет структуру Product as Code, YAML-файлы, связи эпиков и тикетов. Запускайте её, когда нужно найти нарушения спецификации PAC. 163установок git-bisect-helper Ведёт сессию git bisect и сама помечает коммиты good/bad по коду выхода теста. Пригодится, когда непонятно, какой коммит сломал поведение. 163установок pac-update-status Обновляет статус тикета в Product as Code: меняет состояние, исполнителя и оставляет комментарий о прогрессе. Пригодится, когда тикеты лежат в .pac/ и их надо вести из терминала. 160установок feature-analyzer Команда превращает идею новой функции в согласованный дизайн и спецификацию через диалог. Она нужна перед реализацией фичи или крупными изменениями. 158установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой