Best Testcontainers-dotnet code snippet using DotNet.Testcontainers.Containers.TestcontainersContainer.Create
ContainerService.cs
Source:ContainerService.cs
...19 .WithName("elastic")20 .WithDriver(NetworkDriver.Bridge);21 _network = networkBuilder.Build();22 _logger.LogInformation("Creating Network");23 await _network.CreateAsync();24 var name = "elasticsearch-dotnet-samples";25 var containersBuilder = new TestcontainersBuilder<TestcontainersContainer>()26 .WithImage("elasticsearch:8.3.3")27 .WithName(name)28 .WithEnvironment("xpack.security.enabled", "false")29 .WithEnvironment("discovery.type", "single-node")30 .WithPortBinding(9200)31 .WithPortBinding(9300)32 .WithNetwork(_network)33 .WithWaitStrategy(Wait.ForUnixContainer().UntilPortIsAvailable(9200));34 var containersBuilder2 = new TestcontainersBuilder<TestcontainersContainer>()35 .WithImage("kibana:8.3.3")36 .WithName("kibana-dotnet-samples")37 .WithEnvironment("ELASTICSEARCH_HOSTS", $"http://{name}:9200")...
Program.cs
Source:Program.cs
...15 {16 public static async Task Main(string[] args)17 {18 await using var _ = Solr.Value;19 await CreateHostBuilder(args).Build().RunAsync();20 }21 public static readonly Lazy<TestcontainersContainer> Solr = new(() =>22 {23 Console.WriteLine("Starting Solr...");24 using var consumer = Consume.RedirectStdoutAndStderrToStream(new MemoryStream(), new MemoryStream());25 var container = new TestcontainersBuilder<TestcontainersContainer>()26 .WithName("SampleSolrApp-Solr-" + Guid.NewGuid())27 .WithImage("solr:8.8.2")28 .WithPortBinding(8983, assignRandomHostPort: true)29 .WithCommand("/opt/docker-solr/scripts/solr-precreate", "techproducts")30 .WithOutputConsumer(consumer)31 .WithWaitStrategy(Wait.ForUnixContainer().UntilMessageIsLogged(consumer.Stdout, "Registered new searcher"))32 .Build();33 34 container.StartAsync().Wait();35 36 Console.WriteLine("Setting up Solr data...");37 38 var exitcode = container.ExecAsync(new[] {"/bin/bash", "-xc", "/opt/solr/bin/post -out yes -host localhost -c techproducts $(find /opt/solr . | grep exampledocs | grep xml | grep -v manufacturers)"}).GetAwaiter().GetResult();39 if (exitcode != 0)40 throw new Exception("Solr data setup failed!");41 return container;42 });43 public static IHostBuilder CreateHostBuilder(string[] args) =>44 Host.CreateDefaultBuilder(args)45 .ConfigureLogging(logging =>46 {47 logging.ClearProviders();48 logging.AddConsole();49 })50 .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); });51 }52}
MockServerFixture.cs
Source:MockServerFixture.cs
...17 public string Hostname { get; private set; }18 public ushort Port { get; private set; }19 public MockServerFixture()20 {21 _container = CreateMySqlContainer();22 Hostname = _container.Hostname;23 Port = _container.GetMappedPublicPort("8882");24 var mockMapper = new MapperConfiguration(cfg =>25 {26 cfg.AddProfile(new OrderProfile());27 });28 Mapper = mockMapper.CreateMapper();29 }30 public TestcontainersContainer CreateMySqlContainer()31 {32 var container = new TestcontainersBuilder<TestcontainersContainer>()33 .WithImage("node:6.11-slim")34 .WithWorkingDirectory("/mocks")35 .WithMount("../../../../dependencies/stubby/", "/mocks")36 .WithEntrypoint("/bin/sh", "-c", "npm install -g stubby@4.1.1 && stubby -d /mocks/init.yml -s 8882 -a 8889 -w")37 .WithCleanUp(false)38 .WithExposedPort("8882")39 .WithCleanUp(true)40 .WithWaitStrategy(Wait.ForUnixContainer().UntilPortIsAvailable(8882))41 .WithPortBinding("8882", true)42 .Build();43 container.StartAsync().ConfigureAwait(false).GetAwaiter().GetResult();44 return container;...
Create
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using DotNet.Testcontainers.Containers.Builders;4using DotNet.Testcontainers.Containers.Modules;5using DotNet.Testcontainers.Containers.Configurations;6{7 {8 static async Task Main(string[] args)9 {10 var container = await new TestcontainersBuilder<TestcontainersContainer>()11 .WithImage("mcr.microsoft.com/dotnet/core/sdk:3.1")12 .WithCommand("tail", "-f", "/dev/null")13 .Build()14 .Create();15 Console.WriteLine("Container created");16 }17 }18}19using System;20using System.Threading.Tasks;21using DotNet.Testcontainers.Containers.Builders;22using DotNet.Testcontainers.Containers.Modules;23using DotNet.Testcontainers.Containers.Configurations;24{25 {26 static async Task Main(string[] args)27 {28 var container = await new TestcontainersBuilder<TestcontainersContainer>()29 .WithImage("mcr.microsoft.com/dotnet/core/sdk:3.1")30 .WithCommand("tail", "-f", "/dev/null")31 .Build()32 .Start();33 Console.WriteLine("Container started");34 }35 }36}37using System;38using System.Threading.Tasks;39using DotNet.Testcontainers.Containers.Builders;40using DotNet.Testcontainers.Containers.Modules;41using DotNet.Testcontainers.Containers.Configurations;42{43 {44 static async Task Main(string[] args)45 {46 var container = await new TestcontainersBuilder<TestcontainersContainer>()47 .WithImage("mcr.microsoft.com/dotnet/core/sdk:3.1")48 .WithCommand("tail", "-f", "/dev/null")49 .Build()50 .Start()51 .Stop();52 Console.WriteLine("Container stopped");53 }54 }55}56using System;57using System.Threading.Tasks;
Create
Using AI Code Generation
1using DotNet.Testcontainers.Containers.Builders;2using DotNet.Testcontainers.Containers.Modules;3{4 {5 static void Main(string[] args)6 {7 var container = new TestcontainersBuilder<GenericContainer>()8 .WithImage("mcr.microsoft.com/dotnet/core/sdk:3.1")9 .Build();10 container.Start();11 container.Stop();12 container.Dispose();13 }14 }15}16using DotNet.Testcontainers.Containers.Builders;17using DotNet.Testcontainers.Containers.Modules;18{19 {20 static void Main(string[] args)21 {22 var container = new TestcontainersBuilder<GenericContainer>()23 .WithImage("mcr.microsoft.com/dotnet/core/sdk:3.1")24 .WithDockerfileFrom("Dockerfile")25 .Build();26 container.Start();27 container.Stop();28 container.Dispose();29 }30 }31}32using DotNet.Testcontainers.Containers.Builders;33using DotNet.Testcontainers.Containers.Modules;34{35 {36 static void Main(string[] args)37 {38 var container = new TestcontainersBuilder<GenericContainer>()39 .WithImage("mcr.microsoft.com/dotnet/core/sdk:3.1")40 .WithDockerfileFrom("Dockerfile")41 .WithName("mycontainer")42 .Build();43 container.Start();44 container.Stop();45 container.Dispose();46 }47 }48}49using DotNet.Testcontainers.Containers.Builders;50using DotNet.Testcontainers.Containers.Modules;51{52 {53 static void Main(string[] args)54 {55 var container = new TestcontainersBuilder<GenericContainer>()56 .WithImage("mcr.microsoft.com
Create
Using AI Code Generation
1var container = new TestcontainersContainer(2 new DockerEnvironmentConfiguration()3 {4 })5 .WithImage("mcr.microsoft.com/dotnet/framework/sdk:4.8")6 .WithExposedPort(80)7 .WithWorkingDirectory("/app")8 .WithEntrypoint("cmd")9 .WithCommand("/c", "ping localhost")10 .WithCleanUp(true)11 .WithAutoRemove(true)12 .WithPortBinding(80, 8080)13 .WithVolumeBinding(@"C:\Users\Public\Documents\test", "/app", AccessMode.ReadOnly)14 .WithWaitStrategy(Wait.ForUnixContainer().UntilPortIsAvailable(80))15 .Create();16await container.StartAsync();17var container = new TestcontainersContainer(18 new DockerEnvironmentConfiguration()19 {20 })21 .WithImage("mcr.microsoft.com/dotnet/framework/sdk:4.8")22 .WithExposedPort(80)23 .WithWorkingDirectory("/app")24 .WithEntrypoint("cmd")25 .WithCommand("/c", "ping localhost")26 .WithCleanUp(true)27 .WithAutoRemove(true)28 .WithPortBinding(80, 8080)29 .WithVolumeBinding(@"C:\Users\Public\Documents\test", "/app", AccessMode.ReadOnly)30 .WithWaitStrategy(Wait.ForUnixContainer().UntilPortIsAvailable(80))31 .Start();32var container = new TestcontainersContainer(33 new DockerEnvironmentConfiguration()34 {35 })36 .WithImage("mcr.microsoft.com/dotnet/framework/sdk:4.8")37 .WithExposedPort(80)
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!