awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
testcontainers avatar

testcontainers/testcontainers-java

0
View on GitHub↗
8,660 estrellas·1,848 forks·Java·MIT·5 vistastestcontainers.org↗

Testcontainers Java

Testcontainers for Java is a library for launching and managing disposable Docker containers to provide isolated dependencies for automated tests. It provides specialized provisioners for containerized databases, a manager for WebDriver browser containers, and an orchestrator for deploying multi-container applications via Docker Compose.

The project ensures reproducible data states through database schema initialization and provides integration with JUnit to manage the lifecycle of external services. It supports automated browser testing by launching Selenium containers with the ability to record sessions via VNC.

The library covers broader container orchestration capabilities, including network configuration, host directory binding, and on-the-fly image building. It manages container lifecycles with specific wait strategies for startup and utilizes a sidecar container for automated resource cleanup to prevent orphaned containers. Additional utilities include in-container command execution, log streaming, and authentication for private registries.

Features

  • Container Management Tools - Provides tools for creating and managing the lifecycle of disposable container instances for isolated testing.
  • Ephemeral Testing Environments - Provides short-lived, isolated containerized instances of dependencies that are automatically cleaned up after tests complete.
  • Containerized Database Integration - Allows running real database engines in Docker containers during tests to replace mocks or in-memory databases.
  • Container Orchestration Abstractions - Provides high-level Java abstractions that map configurations to low-level Docker API calls for any container image.
  • Docker Socket Orchestrators - Manages container lifecycles by communicating with the Docker daemon via its REST API socket.
  • Automated Testing Containers - Provides a Java library specifically designed to manage the lifecycle of isolated containers for automated testing.
  • Orphaned Container Cleanup - Deploys a sidecar container (Ryuk) to automatically identify and remove orphaned containers after test execution.
  • Ephemeral Database Provisioning - Bootstraps pre-configured, disposable instances of common database engines for use in automated tests.
  • Test Environment Provisioning - Automates the provisioning and destruction of temporary Docker containers to ensure clean and reproducible test environments.
  • Database Provisioners - Bootstraps pre-configured database instances in Docker to ensure reproducible data states during testing.
  • Database Schema Initializations - Executes SQL initialization scripts upon database container startup to establish a reproducible data state.
  • Compose Orchestrators - Supports orchestrating multi-container environments by parsing Docker Compose YAML configuration files.
  • Container Image Builders - Allows the creation of custom container images during the test lifecycle using Dockerfiles or builder definitions.
  • Readiness Wait Strategies - Implements wait strategies using TCP port checks and HTTP responses to block tests until the container is ready.
  • Container Directory Mounting - Allows mounting host file system directories into containers with configurable read-write permissions.
  • Container Networking Configurations - Enables the creation of isolated virtual networks to facilitate communication between multiple containers.
  • Availability Polling - Blocks test execution until containers are ready by repeatedly probing TCP ports or HTTP responses.
  • Container Volume Bindings - Enables binding local host file system paths to internal container paths for sharing configuration and data.
  • Lifecycle Management Extensions - Integrates with JUnit to manage the automated startup and shutdown of external service containers.
  • Browser Automation Testing - Launches headed or headless Selenium browser containers to perform end-to-end UI testing.
  • WebDriver Container Management - Provides the ability to launch and manage Selenium WebDriver containers with VNC recording for browser interactions.
  • Frameworks de pruebas - Provides throwaway instances of databases and browsers in containers.

Historial de estrellas

Gráfico del historial de estrellas de testcontainers/testcontainers-javaGráfico del historial de estrellas de testcontainers/testcontainers-java

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Preguntas frecuentes

¿Qué hace testcontainers/testcontainers-java?

Testcontainers for Java is a library for launching and managing disposable Docker containers to provide isolated dependencies for automated tests. It provides specialized provisioners for containerized databases, a manager for WebDriver browser containers, and an orchestrator for deploying multi-container applications via Docker Compose.

¿Cuáles son las características principales de testcontainers/testcontainers-java?

Las características principales de testcontainers/testcontainers-java son: Container Management Tools, Ephemeral Testing Environments, Containerized Database Integration, Container Orchestration Abstractions, Docker Socket Orchestrators, Automated Testing Containers, Orphaned Container Cleanup, Ephemeral Database Provisioning.

¿Qué alternativas de código abierto existen para testcontainers/testcontainers-java?

Las alternativas de código abierto para testcontainers/testcontainers-java incluyen: testcontainers/testcontainers-dotnet — Testcontainers for .NET is a Docker testing library and integration testing framework designed to manage the lifecycle… testcontainers/testcontainers-go — testcontainers-go is a Docker integration testing library for Go designed to provision and manage disposable… eon01/dockercheatsheet — This project is a comprehensive reference guide and cheat sheet for the Docker CLI. It provides a structured… cypress-io/cypress — Cypress is a browser-based testing framework designed for writing and running automated tests directly inside the… lxc/incus — Incus is a unified orchestration platform for managing system containers, OCI application containers, and virtual… theporgs/exegol — Exegol is an offensive security platform and containerized tooling orchestrator designed to deploy and manage isolated…

Alternativas open-source a Testcontainers Java

Proyectos open-source similares, clasificados según cuántas características comparten con Testcontainers Java.
  • testcontainers/testcontainers-dotnetAvatar de testcontainers

    testcontainers/testcontainers-dotnet

    4,317Ver en GitHub↗

    Testcontainers for .NET is a Docker testing library and integration testing framework designed to manage the lifecycle of throwaway containers. It provides high-level abstractions as a Docker API wrapper to provision ephemeral infrastructure, replacing mocks with real database, messaging, and search engine instances to ensure isolated and reproducible test environments. The project distinguishes itself through a builder-configuration-container pattern and a dynamic port binding mechanism that prevents collisions during concurrent test execution. It enables reliable service-to-service communic

    C#automationdockerdotnet
    Ver en GitHub↗4,317
  • testcontainers/testcontainers-goAvatar de testcontainers

    testcontainers/testcontainers-go

    4,889Ver en GitHub↗

    testcontainers-go is a Docker integration testing library for Go designed to provision and manage disposable containerized infrastructure. It functions as a container lifecycle manager and ephemeral infrastructure provisioner, allowing developers to programmatically create, start, and destroy containers as dependencies for automated integration tests. The library acts as a Docker network orchestrator by mapping container ports to random host ports and resolving network endpoints for test clients. This capability enables parallel test execution by preventing network collisions and ensures that

    Goautomationdockergo
    Ver en GitHub↗4,889
  • eon01/dockercheatsheetAvatar de eon01

    eon01/DockerCheatSheet

    3,938Ver en GitHub↗

    This project is a comprehensive reference guide and cheat sheet for the Docker CLI. It provides a structured collection of commands and documentation to help users manage container lifecycles, build images, and handle registries. The documentation specifically covers the orchestration of multi-container applications using Docker Compose and the management of scalable services across multiple nodes via Docker Swarm. It also includes detailed guides for configuring virtual networks, bridges, and ports to control container communication. The reference surface extends to container image administ

    Ver en GitHub↗3,938
  • cypress-io/cypressAvatar de cypress-io

    cypress-io/cypress

    50,113Ver en GitHub↗

    Cypress is a browser-based testing framework designed for writing and running automated tests directly inside the browser. It serves as an end-to-end testing framework, a frontend component testing tool, and a web application test runner. The project also functions as a headless browser automation tool and a network traffic interceptor. The system differentiates itself by executing test code within the same browser process as the application, allowing for direct access to the DOM. It includes a network traffic interception system to stub and manipulate browser requests, as well as a graphical

    TypeScriptangular-testing-librarycomponent-testingcypress
    Ver en GitHub↗50,113
  • Ver las 30 alternativas a Testcontainers Java→