springboot-tdd

Test-driven development for Spring Boot using JUnit 5, Mockito, MockMvc, Testcontainers, and JaCoCo. Use when adding features, fixing bugs, or refactoring.

By affaan-m · 2,902 installs

npx skills add affaan-m/ecc --skill springboot-tdd

Source repository · Upstream listing

Spring Boot TDD Workflow TDD guidance for Spring Boot services with 80%+ coverage (unit + integration). When to Use New features or endpoints Bug fixes or refactors Adding data access logic or security rules Workflow 1) Write tests first (they should fail) 2) Implement minimal code to pass 3) Refactor with tests green 4) Enforce coverage (JaCoCo) Unit Tests (JUnit 5 + Mockito) Patterns: Arrange Act Assert Avoid partial mocks; prefer explicit stubbing Use @ParameterizedTest for variants Web Layer Tests (MockMvc) Integration Tests (SpringBootTest) Persistence Tests (DataJpaTest) Testcontainers Use reusable containers for Postgres/Redis to mirror production Wire via @DynamicPropertySource to inject JDBC URLs into Spring context Coverage (JaCoCo) Maven snippet: Assertions Prefer AssertJ ( assertThat ) for readability For JSON responses, use jsonPath For exceptions: assertThatThrownBy(...) Test Data Builders CI Commands Maven: mvn T 4 test or mvn verify Gradle: ./gradlew test jacocoTestReport Remember : Keep tests fast, isolated, and deterministic. Test behavior, not implementation details.