awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
testcontainers avatar

testcontainers/testcontainers-java

0
View on GitHub↗
8,660 星标·1,848 分支·Java·MIT·8 次浏览testcontainers.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.
  • 测试框架 - Provides throwaway instances of databases and browsers in containers.

Star 历史

testcontainers/testcontainers-java 的 Star 历史图表testcontainers/testcontainers-java 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

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.

testcontainers/testcontainers-java 的主要功能有哪些?

testcontainers/testcontainers-java 的主要功能包括:Container Management Tools, Ephemeral Testing Environments, Containerized Database Integration, Container Orchestration Abstractions, Docker Socket Orchestrators, Automated Testing Containers, Orphaned Container Cleanup, Ephemeral Database Provisioning。

testcontainers/testcontainers-java 有哪些开源替代品?

testcontainers/testcontainers-java 的开源替代品包括: 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…

Testcontainers Java 的开源替代方案

相似的开源项目,按与 Testcontainers Java 的功能重合度排序。
  • testcontainers/testcontainers-dotnettestcontainers 的头像

    testcontainers/testcontainers-dotnet

    4,317在 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
    在 GitHub 上查看↗4,317
  • testcontainers/testcontainers-gotestcontainers 的头像

    testcontainers/testcontainers-go

    4,889在 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
    在 GitHub 上查看↗4,889
  • eon01/dockercheatsheeteon01 的头像

    eon01/DockerCheatSheet

    3,938在 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

    在 GitHub 上查看↗3,938
  • cypress-io/cypresscypress-io 的头像

    cypress-io/cypress

    50,113在 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
    在 GitHub 上查看↗50,113
  • 查看 Testcontainers Java 的所有 30 个替代方案→