intermediateTesting APIs & Dockerized Postgres

What's the difference between `@SpringBootTest` and `@WebMvcTest`?

`@SpringBootTest` boots the entire application context — every bean, real or test-doubled — which is slow but gives full integration coverage. `@WebMvcTest` loads only the web layer (controllers, `@ControllerAdvice`, Jackson config) and mocks everything below it (services, repositories), making it much faster for testing request/response mapping and validation in isolation.

Ready to master this question?

Generate a complete walkthrough — background, the full answer in plain language, a working code example explained line by line, a real-world scenario, common mistakes, and how this same question gets asked in different ways.

Sign in to generate a response

Next Step

Continue to What happens the instant you add `spring-boot-starter-security` to a project with zero configuration?← Back to all Spring Boot questions