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