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

321-frameworks-spring-boot-testing-unit-tests — скилл

Скилл ведёт агента по юнит-тестам Spring Boot: Mockito без поднятия контекста, срезы для контроллеров, параметризованные тесты. Пригодится, когда в проекте расплодились @SpringBootTest.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add jabrena/plinth --skill 321-frameworks-spring-boot-testing-unit-tests -a claude-code
Открыть на GitHub

Что делает 321-frameworks-spring-boot-testing-unit-tests

Скилл описывает, как писать юнит-тесты Spring Boot с Mockito. Чистые тесты для @Service и @Component строятся на @ExtendWith(MockitoExtension.class), @Mock и @InjectMocks — без запуска Spring-контекста. Для контроллеров берутся срезы @WebMvcTest с @MockitoBean, для сериализации — @JsonTest с проверкой значений через extractingJsonPathStringValue.

Внутри — правила и примеры хорошего и плохого кода, включая параметризованные тесты через @CsvSource и @MethodSource вместо копипасты методов, @TestConfiguration, @ActiveProfiles и фиксированные clock-бины для предсказуемой настройки. Отдельно оговорена современная API моков: @MockitoBean и @MockitoSpyBean, тогда как @MockBean и @SpyBean в Boot 4.0.x удалены.

Скилл требует, чтобы проект компилировался до правок: сначала ./mvnw compile или mvn compile, при ошибке работа останавливается, а после изменений прогоняется ./mvnw clean verify. Если область задачи размыта или не хватает файлов и инструментов, агент должен остановиться и спросить. Для интеграционных тестов есть отдельный скилл @322-frameworks-spring-boot-testing-integration-tests, для Java без привязки к фреймворку — @131-java-testing-unit-testing.

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

  • написать Mockito-тесты для сервиса без поднятия Spring-контекста
  • заменить @SpringBootTest на срез @WebMvcTest для контроллера
  • свести повторяющиеся тест-методы в один параметризованный
  • проверить JSON-сериализацию через @JsonTest
  • перевести тесты с удалённого @MockBean на @MockitoBean

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

  • Напиши юнит-тесты для этого @Service через Mockito, без Spring-контекста
  • Замени @SpringBootTest на @WebMvcTest с @MockitoBean в тестах контроллера
  • Перепиши эти три похожих теста в один @ParameterizedTest с @CsvSource

Как установить 321-frameworks-spring-boot-testing-unit-tests

1Через Skills CLI (Vercel)

npx skills add jabrena/plinth --skill 321-frameworks-spring-boot-testing-unit-tests -a claude-code

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

~/.claude/skills/321-frameworks-spring-boot-testing-unit-tests/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/321-frameworks-spring-boot-testing-unit-tests/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о 321-frameworks-spring-boot-testing-unit-tests

Как установить 321-frameworks-spring-boot-testing-unit-tests в Claude?

Выполните npx skills add jabrena/plinth --skill 321-frameworks-spring-boot-testing-unit-tests -a claude-code. Скилл окажется в ~/.claude/skills/321-frameworks-spring-boot-testing-unit-tests/SKILL.md.

Что делает этот скилл?

Задаёт агенту правила юнит-тестирования Spring Boot с Mockito: чистые тесты для сервисов, срезы для контроллеров, @JsonTest, параметризованные тесты и настройку через @TestConfiguration.

Чем он отличается от скиллов по интеграционным тестам и Java?

Этот скилл про юнит-тесты Spring Boot. Для интеграционных тестов есть @322-frameworks-spring-boot-testing-integration-tests, для Java без привязки к фреймворку — @131-java-testing-unit-testing.

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

SKILL.md · Apache-2.0
---
name: 321-frameworks-spring-boot-testing-unit-tests
description: Use when you need to write unit tests for Spring Boot applications — including pure unit tests with @ExtendWith(MockitoExtension.class) for @Service/@Component, slice tests with @WebMvcTest and @MockitoBean for controllers, @JsonTest for JSON serialization, parameterized tests with @CsvSource/@MethodSource, test profiles, and @TestConfiguration. For framework-agnostic Java use @131-java-testing-unit-testing. For integration tests use @322-frameworks-spring-boot-testing-integration-tests. This should trigger for requests such as Review Java code for Spring Boot unit tests; Apply best practices for Spring Boot unit tests in Java code; Write Mockito-first unit tests for Spring Boot services; Avoid unnecessary @SpringBootTest in Spring unit tests; Review Spring Boot slice-free unit test design. Part of Plinth Toolkit
license: Apache-2.0
metadata:
  author: Juan Antonio Breña Moral
  version: 0.19.0
---
# Spring Boot Unit Testing with Mockito

Apply Spring Boot unit testing guidelines with Mockito.

**What is covered in this Skill?**

- Pure unit tests: @ExtendWith(MockitoExtension.class), @Mock, @InjectMocks for @Service/@Component (no Spring context)
- Slice tests: @WebMvcTest, @MockitoBean for controllers (Spring Boot 4.0.x — @MockBean removed)
- @JsonTest for JSON serialization with correct JSON value assertions (extractingJsonPathStringValue, etc.)
- Parameterized tests: @ParameterizedTest with @CsvSource or @MethodSource over copy-pasted methods
- Java records for domain objects in tests
- @TestConfiguration, @ActiveProfiles, @Primary fixed-clock beans for deterministic test setup
- Modern mocking API: @MockitoBean / @MockitoSpyBean; @MockBean/@SpyBean are deprecated/removed in Boot 4.0.x

**Scope:** Apply recommendations based on the reference rules and good/bad code examples. For integration tests use @322-frameworks-spring-boot-testing-integration-tests.

## Constraints

Before applying any test changes, ensure the project compiles. If compilation fails, stop immediately. After applying improvements, run full verification.

- **MANDATORY**: Run `./mvnw compile` or `mvn compile` before applying any change
- **SAFETY**: If compilation fails, stop immediately
- **VERIFY**: Run `./mvnw clean verify` or `mvn clean verify` after applying improvements
- **BEFORE APPLYING**: Read the reference for detailed rules and good/bad patterns
- **EDGE CASE**: If request scope is ambiguous, stop and ask a clarifying question before applying changes
- **EDGE CASE**: If required inputs, files, or tooling are missing, report what is missing and ask whether to proceed with setup guidance

## When to use this skill

- Review Java code for Spring Boot unit tests
- Apply best practices for Spring Boot unit tests in Java code
- Write Mockito-first unit tests for Spring Boot services
- Avoid unnecessary @SpringBootTest in Spring unit tests
- Review Spring Boot slice-free unit test design

## Workflow

1. **Read reference and assess project context**

Read `references/321-frameworks-spring-boot-testing-unit-tests.md` and inspect the current project setup before proposing changes.

2. **Gather scope and decide target improvements**

Identify requested outcomes, constraints, and the minimum safe set of changes to apply.

3. **Apply framework-aligned changes**

Implement or refactor configuration/code following the reference patterns and project conventions.

4. **Run verification and report results**

Execute appropriate build/tests and summarize what changed, what was verified, and any follow-up actions.

## Reference

For detailed guidance, examples, and constraints, see [references/321-frameworks-spring-boot-testing-unit-tests.md](references/321-frameworks-spring-boot-testing-unit-tests.md).

© Juan Antonio Breña Moral · Apache-2.0 · jabrena/plinth

Похожие скиллы

Всё по теме «Тесты и QA» →
spring-boot-test-patterns giuseppe-trisciuoglio Скилл подсказывает агенту, как писать тесты Spring Boot: юнит-тесты с Mockito, срезы @DataJpaTest и @WebMvcTest, интеграционные с Testcontainers. CX Codex +1 4 300установок spring-boot Mindrally Скилл задаёт агенту стиль кода на Spring Boot: REST-контроллеры, тесты, безопасность, сборка и деплой. Пригодится, когда проект на Java и хочется единообразия. CX Codex +1 832установок unit-test-application-events giuseppe-trisciuoglio Паттерны юнит-тестов для событий Spring: проверка публикации через ApplicationEventPublisher и работа @EventListener без поднятия контекста. CX Codex +1 3 700установок spring-boot-testing официальный github Подбирает способ тестирования для Spring Boot 4: от проверки отдельного слоя до интеграционного теста. Пригодится, когда нужно выбрать подходящие аннотации и инструменты. 2 000установок spring-framework Mindrally Скилл задаёт агенту правила разработки на Spring Framework и Spring Boot: структура слоёв, внедрение зависимостей, тесты, REST. CX Codex +1 731установок spring-boot-engineer VoltAgent Community Субагент помогает проектировать и разрабатывать приложения на Spring Boot 3+, включая микросервисы и реактивные сервисы. Подойдёт для задач с облачным развёртыванием и интеграциями. 336установок

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

122-java-type-design Скилл для ревью и рефакторинга Java-кода: убирает primitive obsession, строит иерархии типов и подсказывает, где нужен BigDecimal. CX Codex +1 394установок 302-frameworks-spring-boot-rest Скилл для проектирования и разбора REST API на Spring Boot: методы, коды ответов, DTO, версионирование, пагинация, ошибки по RFC 7807. CX Codex +1 392установок 301-frameworks-spring-boot-core Скилл настраивает правила ревью и рефакторинга кода на Spring Boot 4.0.x. Помогает внедрять зависимости через конструктор и валидировать конфигурацию. CX Codex +1 390установок 111-java-maven-dependencies Добавляет в pom.xml зависимости для качества кода: JSpecify, Error Prone с NullAway, VAVR, ArchUnit, JavaMoney. Спрашивает, что нужно, и ставит только выбранное. CX Codex +1 388установок 112-java-maven-plugins Скилл подключает и настраивает плагины Maven в pom.xml через вопросы по одному. Пригодится, когда нужно добавить проверки качества, покрытие или сборку образа. CX Codex +1 381установок 130-java-testing-strategies Скилл разбирает Java-тесты по трём методикам: RIGHT-BICEP подбирает случаи, A-TRIP чинит нестабильные, CORRECT проверяет границы. CX Codex +1 377установок 132-java-testing-integration-testing Скилл для ИИ-агента, который наводит порядок в интеграционных тестах Java-сервисов: поднимает WireMock, изолирует заглушки и убирает моки HTTP-клиентов. CX Codex +1 376установок 142-java-functional-programming Скилл для ИИ-агента, который переписывает Java-код в функциональном стиле: Records, чистые функции, Stream API и Optional. CX Codex +1 376установок

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

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