giuseppe-trisciuoglio avatar

Unit Test Controller Layer

This generates unit tests for Spring REST controllers using MockMvc and standalone setup, keeping your tests isolated from the full application context. You get patterns for all the HTTP methods, JsonPath assertions for response validation, and examples covering the annoying edge cases like validation errors, custom headers, and path variables. It mocks service dependencies with Mockito so you're only testing the controller layer's HTTP handling, not business logic. The validation workflow tip is handy: add andDo(print()) when tests fail to see what MockMvc actually returned. Watch out though, standaloneSetup skips some Spring magic like security annotations, so you might need integration tests for those scenarios anyway.

skills.sh installs
3.9K
GitHub stars
369
last updated
Aug 21, 2026

Install

$ npx -y skills add giuseppe-trisciuoglio/developer-kit --skill unit-test-controller-layer --agent claude-code

Installs into .claude/skills of the current project.

Files

Unit Testing REST Controllers with MockMvc

Overview

Provides patterns for unit testing @RestController and @Controller classes using MockMvc. Covers request/response handling, HTTP status codes, request parameter binding, validation, content negotiation, response headers, and exception handling with mocked service dependencies.

When to Use

Use for: controller tests, API endpoint testing, Spring MVC tests, mock HTTP requests, unit testing web layer endpoints, verifying REST controllers in isolation.

Instructions

Sponsors

Details

Repository
github.com/giuseppe-trisciuoglio/developer-kit
Categories
Backend & APIs, Testing & QA, Debugging, Java & JVM
First seen
May 16, 2026

More from giuseppe-trisciuoglio/developer-kit

All 102
1giuseppe-trisciuoglio avatarunit-test-exception-handlergiuseppe-trisciuoglio/developer-kitProvides patterns for unit testing `@ExceptionHandler` and `@ControllerAdvice` in Spring Boot applications. Validates error response formatting, mocks exception3.9Kskills.sh installs
2giuseppe-trisciuoglio avatarlangchain4j-vector-stores-configurationgiuseppe-trisciuoglio/developer-kitProvides configuration patterns for LangChain4J vector stores in RAG applications. Use when building semantic search, integrating vector databases (PostgreSQL/p3.8Kskills.sh installs
3dpearson2699 avatardevice-integritydpearson2699/swift-ios-skillsVerify device legitimacy and app integrity using DeviceCheck (DCDevice per-device bits) and App Attest (DCAppAttestService key generation, attestation, and asse3.8Kskills.sh installs
4giuseppe-trisciuoglio avataraws-rds-spring-boot-integrationgiuseppe-trisciuoglio/developer-kitProvides patterns to configure AWS RDS (Aurora, MySQL, PostgreSQL) with Spring Boot applications. Configures HikariCP connection pools, implements read/write sp3.8Kskills.sh installs
5dotnet avatarfetch-and-send-datadotnet/skillsCall APIs, load data into components, and handle the async lifecycle in Blazor. USE FOR fetching data from a backend, submitting data to an API, displaying load3.8Kskills.sh installs
6raroque avatarvibe-securityraroque/vibe-security-skillAudits codebases for common security vulnerabilities that AI coding assistants introduce in "vibe-coded" applications. Checks for exposed API keys, broken acces3.8Kskills.sh installs