advanced~5h
Spring Boot Testing Layers
Why bootstrapping Spring's entire ApplicationContext for every test is the wrong default, how targeted test slices like @WebMvcTest and @DataJpaTest configure only the layer under test, how to keep the service layer isolated with mocked repositories, how MockMvc exercises a controller's full HTTP pipeline, and how to pin down JSON serialization independently of everything else.
Learning objectives
- Explain the difference between @SpringBootTest and a test slice, and when full-context testing is actually justified
- Describe how Spring's TestContext framework caches ApplicationContexts across test classes for speed
- Test a Spring service layer in isolation with mocked repositories, without starting any Spring context
- Use MockMvc to exercise a @RestController's full request pipeline, including validation and exception handling
- Test JSON serialization in isolation with @JsonTest, independent of the rest of the application
This is a Pro chapter
Sign in, then upgrade to Pro or Power to unlock this and the full Core Java Mastery library.
Spring Boot Testing Layers