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

generate-tests — команда для Claude Code: что делает и как установить

Создаёт готовый файл тестов для указанного компонента или файла. Команда определяет тестовый фреймворк проекта и генерирует проверки по паттерну AAA.

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

Что делает generate-tests

Команда принимает путь к файлу или имя компонента. Сначала она запускает фоновые проверки через Bash: ищет упоминания Jest, Vitest, Mocha или Jasmine в package.json и файлах конфигурации, проверяет существующие тест-файлы и скрипт test:coverage. Если передан не путь, а название компонента, поиск исходника идёт через утилиту Grep.

Далее анализируется список экспортированных функций и методов. Инструкция предписывает следовать паттерну Arrange, Act, Assert, изолировать тесты и выносить моки внешних вызовов или таймеров в фабрики данных. Есть готовые правила под разные среды: React Testing Library для React, Vue Test Utils для Vue, TestBed для Angular, pytest для Python, таблицы тестов для Go и модули #[cfg(test)] для Rust.

Без доступа к Bash агент не сможет самостоятельно обнаружить окружение проекта и текущие конфиги. Команде также требуются разрешения Read, Write и Edit для работы с кодом тестов.

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

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

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

  • /generate-tests src/utils/formatters.ts
  • /generate-tests UserProfile
  • /generate-tests src/api/client.ts

Как установить generate-tests

1Через claude-code-templates

npx claude-code-templates@latest --command testing/generate-tests

2Вручную: положить файлы

.claude/commands/generate-tests.md

Вызов — /generate-tests. Для всех проектов — ~/.claude/commands/

Вопросы о generate-tests

Как установить generate-tests в Claude Code?

Выполните в терминале команду npx claude-code-templates@latest --command testing/generate-tests. Либо сохраните файл по пути .claude/commands/generate-tests.md.

Что делает команда generate-tests?

Она исследует переданный файл или компонент, выявляет тестовый фреймворк проекта и создаёт тестовый файл по схеме Arrange, Act, Assert. В тестах изолируется логика и мокаются внешние зависимости.

Какие стеки и фреймворки поддерживает команда?

В инструкцию включены правила для React, Vue, Angular, Node.js, Python (pytest), Go и Rust. Инструмент также ищет Jest, Vitest, Mocha и Jasmine в package.json.

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

generate-tests.md · MIT
---
allowed-tools: Read, Write, Edit, Bash
argument-hint: "[file-path] | [component-name]"
description: Generate a complete test file for a specified source file or component. Use when the user explicitly asks to write, create, or generate tests for a specific file.
---

# Generate Tests

Generate comprehensive test suite for: $ARGUMENTS

## Current Testing Setup

- Test framework: !`cat package.json 2>/dev/null | grep -E '"jest"|"vitest"|"mocha"|"jasmine"' | head -3 || cat jest.config.* vitest.config.* 2>/dev/null | head -5 || echo "Framework not detected"`
- Existing tests: !`find . -name "*.test.*" -o -name "*.spec.*" | head -5`
- Test coverage: !`npm run test:coverage 2>/dev/null || echo "No coverage script"`
- Target: if $ARGUMENTS is a file path, read it with @$ARGUMENTS; if it is a component name, search for it with Grep before writing tests

## Test Generation Framework

1. **Analyze** the target file/component structure — identify all exported functions, classes, methods, and their signatures
2. **Strategy** — examine existing test patterns in the project; choose unit vs integration scope; identify critical paths and error scenarios
3. **Mock Design** — map all external dependencies (I/O, APIs, timers, dates); create factories for test data; plan cleanup for async operations
4. **Unit Tests** — write isolated tests per function/method covering happy path, edge cases, and error conditions; follow AAA pattern (Arrange, Act, Assert)
5. **Integration Tests** — test component interactions, API layers with mocked responses, and end-to-end user workflows where applicable
6. **Quality Check** — verify naming describes behavior not implementation; confirm 80%+ coverage on critical business logic; ensure test isolation

## Framework-Specific Guidance

- **React**: Component testing with React Testing Library; test user interactions and rendering
- **Vue**: Component testing with Vue Test Utils; test props, events, and slots
- **Angular**: Component and service testing with TestBed; test dependency injection
- **Node.js**: API endpoint and middleware testing; test request/response cycles
- **Python**: `pytest` with fixtures, `unittest.mock` for patching, `pytest-cov` for coverage
- **Go**: Table-driven tests in `_test.go` files, `testify/assert` for assertions, subtests via `t.Run()`
- **Rust**: `#[cfg(test)]` modules, `#[test]` attributes, `mockall` for mocking

## Best Practices

- Follow AAA pattern (Arrange, Act, Assert)
- 80%+ coverage; prioritize critical business logic and error paths
- Mock external I/O; use factories for test data
- Naming: describe what the function does, not implementation details

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

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

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

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

Весь набор →
backend-architect Субагент для проектирования бэкенда: границы сервисов, выбор API-парадигмы, схемы БД и наблюдаемость. Полезен, когда решение нужно принять до первой строки кода. 23 691установок architect-review Субагент проверяет изменения в коде на соответствие архитектурным принципам и сложившимся в проекте шаблонам. Подключайте его при ревью крупных изменений и проектировании компонентов. 8 999установок ultra-think Запускает многошаговый разбор задачи: вскрывает скрытые допущения, предлагает конкурирующие варианты и проверяет каждый на прочность. Пригодится, когда решение дорогое и не хочется ошибиться. 8 383установок documentation-expert Субагент создаёт, обновляет и поддерживает документацию проекта, включая README, API-описания и руководства. Пригодится для работы с документацией из кода. 6 992установок task-decomposition-expert Проектирует иерархическую структуру работ, выявляет критический путь и распределяет этапы между профильными агентами. Помогает спланировать запуск сложных систем до написания кода. 6 870установок create-architecture-documentation Слэш-команда для Claude, которая собирает документацию по архитектуре проекта: диаграммы, ADR и описание компонентов. 6 136установок mcp-expert Проектирует и настраивает серверы Model Context Protocol для интерфейса Claude Code. Помогает подключить базы данных, внешние API или локальную файловую систему. 6 052установок nextjs-architecture-expert Субагент для Claude, который разбирает архитектуру Next.js: App Router, Server Components, миграцию и производительность. 4 935установок

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

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