Zum Hauptinhalt springen

Testing

Worauf die Prüfung abzielt

Welchen Test du wann nimmst — und warum.

Das musst du können

  • Unit Test: eine Klasse, ohne Spring.
  • @WebMvcTest: MVC-Slice.
  • @DataJpaTest: JPA-Slice.
  • @SpringBootTest: voller Application Context.
  • MockMvc: MVC ohne echten Server.
  • @MockBean / @MockitoBean: Bean durch Mockito-Mock ersetzen.
  • Spring-Tests mit @Transactional rollen oft standardmäßig zurück.
  • Testcontainers für echte Infrastruktur in Integrationstests.

Passende Buchkapitel

Typische Prüfungsfalle

Nicht alles mit @SpringBootTest. Nimm den kleinsten Test, der das Verhalten beweist.

Kurz selbst prüfen

  • Unit vs. @WebMvcTest vs. @DataJpaTest vs. @SpringBootTest?
  • Was macht MockMvc?
  • Was macht @MockBean / @MockitoBean?
  • Warum sind Slice-Tests schneller?
Musterantworten

Unit = eine Klasse ohne Spring. @WebMvcTest = Controller/MVC. @DataJpaTest = Repositories/JPA. @SpringBootTest = mehrere Schichten oder voller Context.

MockMvc simuliert HTTP-Requests gegen MVC — ohne Server-Start.

@MockBean / @MockitoBean ersetzt eine Context-Bean durch ein Mockito-Mock.

Slices laden nur einen Ausschnitt — deshalb schneller und fokussierter.

Merksatz

Unit = eine Klasse. Slice = eine Schicht. @SpringBootTest = voller Context.