What problem does it solve? Component tests with in-process fakes cannot verify behaviour that depends on the real semantics of downstream systems like PostgreSQL, Kafka, or S3. This Skill shows how to drive a Spring Boot microservice against real dependencies with Testcontainers and WireMock, while keeping the fast unit/component test loop intact through strict Surefire/Failsafe segregation. ## Core Features & Use Cases - Testcontainers integration: Spin up real PostgreSQL, MySQL, MongoDB, Kafka, RabbitMQ, MinIO, or LocalStack containers in tests, wiring connection details via @DynamicPropertySource. - Surefire/Failsafe split: Keep *Test.java fast in Surefire and isolate slow *IT.java integration tests in Failsafe with @Tag("integration"), so mvn test stays fast and mvn verify runs the full suite. - WireMock HTTP stubs and contract testing: Stub HTTP downstreams with WireMock (including record/replay), and adopt either Spring Cloud Contract or Pact for producer/consumer contract verification. - Use Case: A repository query behaves differently on H2 than on production PostgreSQL. Write a FooRepositoryIT with a PostgreSQLContainer so the test runs against the real database engine in CI before merge. ## Quick Start Ask the AI to apply the integration-tests skill to add a Testcontainers-based integration test for a repository or client class in the current Spring Boot project.