Improving Integration Tests using Testcontainers
summary
Testcontainers replaces fragile in-memory tests with real Oracle container instances managed from Gradle and Spring Boot, using LiquidBase for schema bootstrapping so tests run against the same schema as production that serves over 100,000 annual visitors. A single shared container config plus a custom annotation and ad service connection (Spring 3.1) wiring automates datasource binding, and enabling reuse keeps one container across runs. It cuts environment drift and speeds developer feedback but increases bootstrap time and requires strict cleanup to avoid data leakage.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 1:51Public Outreach app overview
- 2:33Testcontainers setup
- 4:40Container lifecycle
- 6:27First integration test
- 7:51Liquibase schema consistency
- 8:14Scalability with shared containers
- 9:58Reusing containers
- 11:45Plug and Play annotations
- 12:07Final considerations
related talks
15mTestcontainers: Simplify Your Integration Tests and Development
26mRemoving Complexity from Integration Tests Using Testcontainers
50mMastering Integration Tests with Testcontainers.
47mHow to make a world-class integration testing library?
47mIntegration Tests: testcontainers to the Rescue
48mContainers for Real Integration Tests
21mTest Containers: Where Every Test Starts Fresh
46mRemoving complexity from integration tests using Testcontainers!
