Spring Boot Testing Standards
Priority: P0
Implementation Guidelines
TDD Workflow
- Red: Write a failing test (e.g.,
returns 404). - Green: Implement minimal code to pass.
- Refactor: Clean up while keeping tests green.
- Coverage: Verify with JaCoCo.
Best Practices
- Real Infrastructure: Use Testcontainers for DB/Queues. See Integration Template.
- Slice Testing: See Slice Test Templates for
@WebMvcTest/@DataJpaTest.
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.
References
- Implementation Examples