Integrationstests mit @SpringBootTest
Testen Sie den gesamten Anwendungskontext.
Integrationstests mit @SpringBootTest ist eine kostenlose Spring Boot 4 Microservices & REST APIs-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Spring Boot 4 Microservices & REST APIs-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Spring Boot 4 Microservices & REST APIs-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
What is an Integration Test
An integration test exercises multiple layers together — controller, service, repository — using a real Spring context.
It catches wiring and configuration problems that unit tests miss.
@SpringBootTest
@SpringBootTest boots the entire application context, loading all beans.
@SpringBootTest
class ApplicationIntegrationTest {
@Autowired
UserService userService;
@Test
void contextLoads() {
assertThat(userService).isNotNull();
}
}WebEnvironment Modes
Control whether a real server starts with the webEnvironment attribute.
MOCK(default) — mock servlet environmentRANDOM_PORT— real server on a random port
@SpringBootTest(
webEnvironment = WebEnvironment.RANDOM_PORT)
class ApiTest { }Testing with TestRestTemplate
With a real port you can make actual HTTP calls using TestRestTemplate.
@Autowired
TestRestTemplate restTemplate;
@Test
void getsUser() {
ResponseEntity<User> response =
restTemplate.getForEntity("/users/1", User.class);
assertThat(response.getStatusCode())
.isEqualTo(HttpStatus.OK);
}WebTestClient
WebTestClient is a fluent client that works for both MVC and WebFlux apps.
@Autowired
WebTestClient webTestClient;
@Test
void getsUser() {
webTestClient.get().uri("/users/1")
.exchange()
.expectStatus().isOk()
.expectBody()
.jsonPath("$.name").isEqualTo("Alice");
}Using a Test Database
By default Spring Boot can replace your datasource with an in-memory H2 database for tests.
@SpringBootTest
@AutoConfigureTestDatabase
class RepositoryIntegrationTest {
@Autowired UserRepository repository;
}Test Properties
Override configuration for tests with @TestPropertySource or an application-test.properties profile.
@SpringBootTest
@TestPropertySource(properties = {
"feature.enabled=false"
})
class FeatureTest { }Activating Profiles
Use @ActiveProfiles to run with a specific Spring profile.
@SpringBootTest
@ActiveProfiles("test")
class ServiceTest { }Transactional Rollback
Annotate tests with @Transactional so each test's database changes roll back automatically, keeping tests isolated.
@SpringBootTest
@Transactional
class UserPersistenceTest {
@Test
void savesAndRollsBack() {
repository.save(new User("Alice"));
}
}Slicing for Speed
Full @SpringBootTest is slow. Prefer slices like @DataJpaTest or @WebMvcTest when you only need one layer.
@DataJpaTest
@DataJpaTest loads only JPA components and an embedded database — ideal for repository tests.
@DataJpaTest
class UserRepositoryTest {
@Autowired UserRepository repository;
@Test
void findsByName() {
repository.save(new User("Alice"));
assertThat(repository.findByName("Alice"))
.hasSize(1);
}
}Quick Check
Test your understanding of integration testing.
Recap
You learned to write integration tests:
@SpringBootTestloads the full contextRANDOM_PORT+TestRestTemplate/WebTestClientfor real HTTP@Transactionalrolls back DB changes- Use slices for speed
Häufig gestellte Fragen
Ist die Lektion „Integrationstests mit @SpringBootTest“ kostenlos?
Ja — der vollständige Text von „Integrationstests mit @SpringBootTest“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Spring Boot 4 Microservices & REST APIs-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Spring Boot 4 Microservices & REST APIs-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Integrationstests mit @SpringBootTest“?
Testen Sie den gesamten Anwendungskontext. Du übst Spring Boot 4 Microservices & REST APIs mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Spring Boot 4 Microservices & REST APIs zu starten?
Keine Vorkenntnisse erforderlich. Spring Boot 4 Microservices & REST APIs auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Integrationstests mit @SpringBootTest“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Spring Boot 4 Microservices & REST APIs-Lektion Code schreiben und ausführen?
Ja. Jede Spring Boot 4 Microservices & REST APIs-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Unit-Tests mit JUnit und Mockito
- Tests der Webschicht mit MockMvc
- Integrationstests mit @SpringBootTest
- Echte Abhängigkeiten mit Testcontainers