unit-testing-framework — скилл для Claude Code: юнит-тесты по AAA
Скилл задаёт агенту правила написания юнит-тестов: структура Arrange-Act-Assert, моки, граничные случаи. Пригодится, когда нужно покрыть тестами новую функцию или класс.
npx skills add aj-geddes/useful-ai-prompts --skill unit-testing-framework -a claude-codeЧто делает unit-testing-framework
Скилл описывает, как писать юнит-тесты: один тест проверяет одну вещь, имя теста объясняет поведение, внешние зависимости подменяются моками. Внутри — разбор паттерна AAA на примере на JavaScript с Jest, таблица справочников в каталоге references/ и список практик с пометками «делай» и «не делай».
Справочники разложены по темам: структура теста, примеры на разных языках, моки и тестовые дубли, асинхронный код и покрытие, граничные случаи, готовый набор тестов целиком. Отдельно перечислено, чего избегать: тестов, зависящих друг от друга, проверок внутренней реализации и обращений к реальным базам и API внутри юнит-теста.
Скилл не привязан к одному фреймворку — в описании названы Jest, pytest, JUnit и RSpec. Если в проекте тесты уже пишут иначе, агент начнёт тянуть их к AAA и мокам, так что это повод сверить стиль до установки.
Какие задачи решает
- написать тесты на новую функцию или класс
- поднять покрытие на критичных участках кода
- ввести единый стандарт оформления тестов в команде
- переписать код под защитой тестов
- разобраться с моками внешних зависимостей
Примеры запросов агенту
- напиши юнит-тесты для
UserService.createUserпо паттерну AAA - добавь тесты на граничные случаи для функции расчёта скидки
- отрефактори этот модуль, тесты пиши заранее
Как установить unit-testing-framework
1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill unit-testing-framework -a claude-code2Вручную: положить файлы
~/.claude/skills/unit-testing-framework/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/unit-testing-framework/
1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill unit-testing-framework -a codex2Вручную: положить файлы
.agents/skills/unit-testing-framework/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill unit-testing-framework -a cursor2Вручную: положить файлы
.cursor/skills/unit-testing-framework/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install aj-geddes/useful-ai-prompts unit-testing-framework2Вручную: положить файлы
.github/skills/unit-testing-framework/SKILL.md1Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill unit-testing-framework -a gemini-cli2Командой платформы
gemini skills install https://github.com/aj-geddes/useful-ai-prompts --path skills/unit-testing-frameworkВручную: положить файлы
.devin/skills/unit-testing-framework/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill unit-testing-framework -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о unit-testing-framework
Как установить unit-testing-framework в Claude?
Выполните npx skills add aj-geddes/useful-ai-prompts --skill unit-testing-framework -a claude-code. Скилл окажется в ~/.claude/skills/unit-testing-framework/SKILL.md.
Что делает unit-testing-framework?
Задаёт агенту правила написания юнит-тестов: паттерн Arrange-Act-Assert, изоляция тестов, моки внешних зависимостей, проверка граничных случаев. Справочники в references/ разбирают структуру теста, примеры на разных языках и работу с асинхронным кодом.
С какими фреймворками работает скилл?
В описании названы Jest, pytest, JUnit и RSpec. Пример в быстром старте — на JavaScript с Jest.
Исходный текст
SKILL.md · MIT
---
name: unit-testing-framework
description: >
Write comprehensive unit tests with high coverage using testing frameworks
like Jest, pytest, JUnit, or RSpec. Use when writing tests for functions,
classes, components, or establishing testing standards.
---
# Unit Testing Framework
## Table of Contents
- [Overview](#overview)
- [When to Use](#when-to-use)
- [Quick Start](#quick-start)
- [Reference Guides](#reference-guides)
- [Best Practices](#best-practices)
## Overview
Write effective unit tests that are fast, isolated, readable, and maintainable following industry best practices and AAA (Arrange-Act-Assert) pattern.
## When to Use
- Writing tests for new code
- Improving test coverage
- Establishing testing standards
- Refactoring with test safety
- Implementing TDD (Test-Driven Development)
- Creating test utilities and mocks
## Quick Start
Minimal working example:
```javascript
// Jest/JavaScript example
describe("UserService", () => {
describe("createUser", () => {
it("should create user with valid data", async () => {
// Arrange - Set up test data and dependencies
const userData = {
email: "[email protected]",
firstName: "John",
lastName: "Doe",
};
const mockDatabase = createMockDatabase();
const service = new UserService(mockDatabase);
// Act - Execute the function being tested
const result = await service.createUser(userData);
// Assert - Verify the outcome
expect(result.id).toBeDefined();
expect(result.email).toBe("[email protected]");
expect(mockDatabase.save).toHaveBeenCalledWith(
expect.objectContaining(userData),
);
});
});
});
```
## Reference Guides
Detailed implementations in the `references/` directory:
| Guide | Contents |
|---|---|
| [Test Structure (AAA Pattern)](references/test-structure-aaa-pattern.md) | Test Structure (AAA Pattern) |
| [Test Cases by Language](references/test-cases-by-language.md) | Test Cases by Language |
| [Mocking & Test Doubles](references/mocking-test-doubles.md) | Mocking & Test Doubles |
| [Testing Async Code](references/testing-async-code.md) | Testing Async Code, Test Coverage |
| [Testing Edge Cases](references/testing-edge-cases.md) | Testing Edge Cases |
| [Example: Complete Test Suite](references/example-complete-test-suite.md) | import { UserService } from "./user-service"; |
## Best Practices
### ✅ DO
- Write tests before or alongside code (TDD)
- Test one thing per test
- Use descriptive test names
- Follow AAA pattern
- Test edge cases and error conditions
- Keep tests isolated and independent
- Use setup/teardown appropriately
- Mock external dependencies
- Aim for high coverage on critical paths
- Make tests fast (< 10ms each)
- Use parameterized tests for similar cases
- Test public interfaces, not implementation
### ❌ DON'T
- Test implementation details
- Write tests that depend on each other
- Ignore failing tests
- Test third-party library code
- Use real databases/APIs in unit tests
- Make tests too complex
- Skip edge cases
- Forget to clean up resources
- Test everything (focus on business logic)
- Write flaky tests
© aj-geddes · MIT · aj-geddes/useful-ai-prompts