Spring Boot Testing Standards
Priority: P0
Implementation Guidelines
Test Strategy
- •Unit First: Prioritize pure unit tests (Mockito) over Context tests.
- •Slice Testing: Use
@WebMvcTest(Controllers) and@DataJpaTest(Repos) to reduce build time. - •Integration: Use
@SpringBootTestonly for critical end-to-end flows.
Best Practices
- •Real Infrastructure: Use Testcontainers for DB/Queues. Avoid H2/Embedded.
- •Assertions: Use AssertJ (
assertThat) over JUnit assertions. - •Isolation: Use
@MockBeanfor downstream dependencies in Slice Tests.
Anti-Patterns
- •Context Reloading:
**No Dirty Contexts**: Avoid @MockBean in base classes. - •External Calls:
**No network I/O**: Use WireMock. - •System Out:
**No System.out**: Use assertions.