springboot-tdd
Test-driven development for Spring Boot using JUnit 5, Mockito, MockMvc, Testcontainers, and JaCoCo. Use when adding features, fixing bugs, or refactoring.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Test-driven development for Spring Boot using JUnit 5, Mockito, MockMvc, Testcontainers, and JaCoCo. Use when adding features, fixing bugs, or refactoring.
How to use
Zainstaluj skill springboot-tdd w swoim projekcie Spring Boot — upewnij się, że masz JUnit 5, Mockito, MockMvc i JaCoCo w zależnościach Maven lub Gradle.
Zanim zaczniesz kodować nową funkcję lub endpoint, napisz test, który powinien się nie powieść. Użyj wzorca Arrange-Act-Assert: przygotuj dane, wykonaj akcję, sprawdź wynik.
Dla testów logiki biznesowej (serwisów) stosuj @ExtendWith(MockitoExtension.class) z @Mock dla zależności i @InjectMocks dla testowanej klasy. Mockuj repozytoria i zewnętrzne serwisy, aby testy były szybkie i niezależne.
Dla testów kontrolerów użyj @WebMvcTest z MockMvc — testuj endpointy bez uruchamiania pełnego kontekstu aplikacji. Sprawdzaj kody HTTP, strukturę JSON i wywołania serwisów.
Dla testów integracyjnych (cała aplikacja, baza danych) użyj @SpringBootTest z @AutoConfigureMockMvc i @ActiveProfiles("test"). Tutaj rzeczywiście wołasz bazy danych (Testcontainers) i weryfikujesz pełny przepływ.
Po każdym kroku uruchom JaCoCo, aby sprawdzić pokrycie testami — cel to minimum 80%. Refaktoryzuj kod tylko gdy wszystkie testy przechodzą (zielone).