# Spring Boot Testing

> Standards for unit, integration, and slice testing in Spring Boot 3

- Skill: `majiayu000/spring-boot-testing-2` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/spring-boot-testing-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/spring-boot-testing-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/spring-boot-testing-2

---


# Spring Boot Testing Standards

## **Priority: P0**

## Implementation Guidelines

### Test Strategy

- **Unit First**: Prioritize pure unit tests (Mockito) over Context tests.
- **Slice Testing**: Use `@WebMvcTest` (Controllers) and `@DataJpaTest` (Repos) to reduce build time.
- **Integration**: Use `@SpringBootTest` only for critical end-to-end flows.

### Best Practices

- **Real Infrastructure**: Use **Testcontainers** for DB/Queues. Avoid H2/Embedded.
- **Assertions**: Use **AssertJ** (`assertThat`) over JUnit assertions.
- **Isolation**: Use `@MockBean` for downstream dependencies in Slice Tests.

## Anti-Patterns

- **Context Reloading**: `**No Dirty Contexts**: Avoid @MockBean in base classes.`
- **External Calls**: `**No network I/O**: Use WireMock.`
- **System Out**: `**No System.out**: Use assertions.`

## References

- [Implementation Examples](references/implementation.md)

