# Backend Testing

> Write and review backend tests with JUnit5, MockMvc, and Spring Boot Test. Use for writing controller tests, service tests, and integration tests.

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

---


# Backend Testing Skill

## When to Use

- Writing unit tests for services or repositories
- Writing controller tests with MockMvc
- Writing integration tests
- Reviewing test coverage or test quality

---

## Stack

- JUnit5 + Spring Boot Test
- MockMvc for controller tests
- (Optional) Testcontainers for integration tests

---

## Minimum Requirements

Each endpoint requires:
- At least 1 success test
- At least 1 failure test

Document important endpoints with Spring REST Docs.

---

## What to Test

1. **Validation errors** - Invalid input handling
2. **Authorization errors** - If applicable
3. **Idempotency behaviors** - Duplicate request handling
4. **TTL expiry behaviors** - Session/token expiration

---

## Test Organization

```
src/test/java/
├── controller/
│   └── {Feature}ControllerTest.java
├── service/
│   └── {Feature}ServiceTest.java
└── integration/
    └── {Feature}IntegrationTest.java
```

---

## Test Naming Convention

```java
@Test
void should_ReturnSuccess_When_ValidInput() { }

@Test
void should_ThrowException_When_InvalidInput() { }
```

