Unit Test Skills by Mavka — плагин
Два скилла для Java: план тестов по ветвям кода, тесты JUnit 5 с Mockito и AssertJ, компиляция и запуск до отчета
- 73 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Скилл `generate-tests` без присмотра пишет файлы тестов и запускает компиляцию и тесты на вашей машине
- Сгенерированные тесты стоит просмотреть: зеленая сборка и полное покрытие не гарантируют находку дефектов
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add plugins/unit-test-skills-by-mavkaОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Скилл `generate-tests` без присмотра пишет файлы тестов и запускает компиляцию и тесты на вашей машине
- Сгенерированные тесты стоит просмотреть: зеленая сборка и полное покрытие не гарантируют находку дефектов
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Скиллы дают агенту процесс тестирования вместо разового запроса «напиши тесты». Агент, которому велели написать тесты, может остановиться, как только сборка стала зеленой, а полный охват ветвей не гарантирует, что дефекты будут найдены. Поэтому работа идет по цепочке Plan, Generate, Compile, Run: сначала список случаев из ветвей кода, затем тесты, затем проверка компиляции и запуск. Скилл `generate-tests` выполняет весь процесс без присмотра: анализирует код, печатает список тестовых случаев, пишет тесты и проверяет, что они компилируются и проходят. Команда выглядит как `/generate-tests src/services/OrderService.java`. Скилл `generate-test-cases` только анализирует и выдает структурированный список в формате Given-When-Then, код не пишется, и вы просматриваете план заранее. Поддерживается Java с JUnit 5, Mockito и AssertJ. Правила навязывают общие практики: имена в формате `{метод}_{состояние}_{результат}`, структура Given-When-Then с префиксами `actual` и `expected`, один сценарий на тест, проверка поведения без привязки к реализации, никакой логики в тестах, данные через помощники и билдеры, подготовка внутри теста. Автор приводит замер на одной цели, Spring Petclinic с 12 внесенными дефектами: при зеленой сборке и 100 процентах покрытия ветвей тесты со скиллами поймали 10–11 дефектов вместо 5.
Для кого. Java-разработчикам, у которых сервисы и контроллеры остались без юнит-тестов и которым нужны тесты с единым стилем имен и структуры.
Подходит, если
- Нужно покрыть тестами непокрытый сервис, например `OrderService`, по ветвям кода
- План тестовых случаев хочется прочитать и поправить до того, как напишется код тестов
- Тесты должны выдерживать мутационную проверку, полного покрытия ветвей для этого мало
- Команде нужны единые правила имен и структуры тестов: `метод_состояние_результат` и Given-When-Then
Не подходит, если
- Проект написан не на Java: поддерживаются только JUnit 5, Mockito и AssertJ
- Нужны интеграционные тесты со стеком и базой: набор рассчитан на юнит-тесты
- Нужен результат без запуска сборки: скилл запускает компиляцию и тесты на вашей машине
Пример запроса к агенту
/generate-tests src/services/OrderService.javaОграничения
Поддерживается только Java с JUnit 5, Mockito и AssertJ. Скилл `generate-tests` сам запускает компиляцию и тесты, поэтому в проекте должна работать сборка. Замер автора касается одной зафиксированной цели, Spring Petclinic, с 12 внесенными дефектами и двух движков (Claude Code 2.1.276 с OPUS-5 и Codex 0.155.1 с `gpt-5.6-sol`). Результаты на других кодовых базах, задачах и моделях могут отличаться.
Для надежного обнаружения скилла автор советует добавить фрагмент из `templates/AGENTS-SNIPPET.md` в `AGENTS.md` проекта. Названия команд зависят от установки: после плагина они идут с префиксом `/unit-tests-skills:`. Лицензия MIT, последний коммит от 23 сентября 2026 года.
Как отключить. Для плагина выполните `/plugin uninstall unit-tests-skills@mavka`. Скиллы, поставленные через `npx skills`, удалите из каталога скиллов агента, а фрагмент для `AGENTS.md` уберите вручную. Созданные тесты остаются в проекте.
Частые вопросы
Как установить скиллы в Claude Code?
Выполните `/plugin marketplace add mavka-ai/unit-tests-skills`, затем `/plugin install unit-tests-skills@mavka`. Команды получат префикс: `/unit-tests-skills:generate-tests` и `/unit-tests-skills:generate-test-cases`.
Чем `generate-tests` отличается от `generate-test-cases`?
Первый ведет весь процесс без присмотра: план, тесты, компиляция и запуск. Второй только выдает список случаев в формате Given-When-Then и код не пишет.
Какие языки и библиотеки поддерживаются?
Java с JUnit 5, Mockito и AssertJ. Для других языков скилл не рассчитан.
Что показал замер на Petclinic?
При зеленой сборке и 100 процентах покрытия ветвей тесты без скилла поймали 5 из 12 внесенных дефектов у обоих агентов. С ним Claude поймал 10, Codex 11. Это одна зафиксированная цель, на других проектах результат может быть другим.
Как сделать так, чтобы агент находил скиллы?
Установите через `npx skills add mavka-ai/unit-tests-skills` и добавьте фрагмент из `templates/AGENTS-SNIPPET.md` в `AGENTS.md`. Альтернатива: `npx openskills install mavka-ai/unit-tests-skills` и затем `npx openskills sync` сам обновит `AGENTS.md`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
ПлагиныСемь QA-агентов и десять скиллов для автотестов: Playwright на TypeScript, Selenium на Java, API, доступность и ISTQB.
Плагин с навыками для тестирования: от требований и тест-кейсов до прогона API, мобильных и веб-проверок с доказательствами.
169 QA-скиллов на двух языках: тест-дизайн, API, UI, регрессия, нагрузка, безопасность и тесты LLM для агентов.
CLI от TestMu AI: сам пишет сквозные тесты из требований и гоняет их в браузере и на мобильных, а скилл подключает агента
Скилл ведет Claude Code и Codex через пишущий и чинящий цикл автотестов API на pytest с проверкой реальным запуском.
Скилл Пола Хадсона по Swift Testing: параметризованные тесты, подтверждения, тесты на завершение процесса и переход с XCTest
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| Unit Test Skills by Mavka (эта карточка) | нет | 73 | |
| TDD Guard | нет | 2 377 | следит за TDD-циклом у агента, эти скиллы планируют случаи по ветвям Java-кода и проверяют тесты компиляцией и запуском |
| claude-code-java | нет | 773 | набор подсказок для Java в Claude Code, этот ведет процесс тестирования Plan, Generate, Compile, Run |
Коротко о README
Описание подает скиллы как процесс тестирования Plan, Generate, Compile, Run и сравнивает результаты с замером на Spring Petclinic. Дальше идут три способа установки, примеры вызова, пример плана и теста, шаги работы и таблица принципов тестирования.
Бейдж для README
Исходный SKILL.md
--- name: generate-test-cases description: "Use when the user asks to analyze code for test coverage, list what test cases are needed, or review testing strategy — WITHOUT generating actual test code." allowed-tools: Read, Glob, Grep argument-hint: "<file-path-or-class>" --- # Generate Test Cases Skill You will analyze code and generate a list of test cases that should be written for a given method/class. This skill outputs test case descriptions only — it does NOT generate actual test code. **Target to analyze:** $ARGUMENTS ## Quality Standards - Take your time to analyze the code thoroughly before listing test cases. - Quality is more important than speed — read all relevant source files and rules carefully. - Do not skip reading the dependency classes. Understanding the full context produces better test cases. --- ## Instructions ### Step 1: Read Rules and Analyze Context 1. **Read the rules** from `./rules/general/` directory (see Rules Reference below) 2. **Read the target** source file/class/method specified above 3. **Read dependencies**: Follow imports to read DTOs, entities, enums, and other types referenced by the target (as specified in `code-context-analysis` rule) 4. **Check for existing tests**: Search for existing test classes covering this target (as specified in `existing-test-awareness` rule) — if found, read it fully and focus only on behaviors not yet covered ### Step 2: Generate Test Cases 1. Analyze ALL code branches, including: - Success paths - Error/exception paths - Validation logic - Private/protected methods called by the target - Security annotations (if present) 2. Apply the INCLUDE/EXCLUDE rules strictly 3. Output the list of test cases in the specified format 4. Stop at the descriptions — the list itself is this skill's deliverable 5. Close by naming the next step: `generate-tests <target>` takes this list as its plan and writes the code from it. Hand the list forward as it stands — the user can review or amend it first