Testcontainers Cloud makes it easy for developers to run reliable integration tests, with real dependencies defined in code, from their laptops to their team’s CI.
Start TestingGet A Demo
Run Your Tests In The Cloud
Full Testcontainers Experience
Unit Tests With Real Dependencies
Testcontainers is an open source framework for providing throwaway, lightweight instances of databases, message brokers, web browsers, or just about anything that can run in a Docker container.
Supports Most Popular Languages
GenericContainer redis = new GenericContainer("redis:5.0.3-alpine").withExposedPorts(6379);
container, err := testcontainers.GenericContainer(ctx, testcontainers.GenericContainerRequest{
ContainerRequest: testcontainers.ContainerRequest{
Image: "redis:5.0.3-alpine",
ExposedPorts: []string{"6379/tcp"},
WaitingFor: wait.ForLog("Ready to accept connections"),
},
Started: true,
})
await new TestcontainersBuilder<RedisTestcontainer>()
.WithDatabase(new RedisTestcontainerConfiguration())
.Build()
.StartAsync()
.ConfigureAwait(false);
const redis = await new GenericContainer("redis:5.0.3-alpine")
.withExposedPorts(6379)
.withWaitStrategy(Wait.forLogMessage("Ready to accept connections"))
.start();
Test Anything You Can Containerize: Database, Message Broker, And More
Test Anything You Can Containerize: Database, Message Broker, And More
Get Started In Minutes!
- Works with your existing tests without any code changes
- Install the non-privileged agent and you are good to go
- Plays nice with both public and private registries
Start Testing
What Our Users Are Saying
Start Testing
Get access to your on-demand cloud environments to supercharge your Testcontainers based tests! Remove their resource consumption from your local machine or CI workers. Simplify your setup to have more reliable integration tests.