Excalibur.Testing.Containers
10.0.0-alpha.8
dotnet add package Excalibur.Testing.Containers --version 10.0.0-alpha.8
NuGet\Install-Package Excalibur.Testing.Containers -Version 10.0.0-alpha.8
<PackageReference Include="Excalibur.Testing.Containers" Version="10.0.0-alpha.8" />
<PackageVersion Include="Excalibur.Testing.Containers" Version="10.0.0-alpha.8" />
<PackageReference Include="Excalibur.Testing.Containers" />
paket add Excalibur.Testing.Containers --version 10.0.0-alpha.8
#r "nuget: Excalibur.Testing.Containers, 10.0.0-alpha.8"
#:package Excalibur.Testing.Containers@10.0.0-alpha.8
#addin nuget:?package=Excalibur.Testing.Containers&version=10.0.0-alpha.8&prerelease
#tool nuget:?package=Excalibur.Testing.Containers&version=10.0.0-alpha.8&prerelease
Excalibur.Testing.Containers
Opt-in TestContainers fixtures for testing Excalibur infrastructure implementations against real backends via Docker.
This package is deliberately separate from Excalibur.Testing.Conformance so that the core
conformance toolkit never forces a Docker/TestContainers dependency. Reference this package only when
you want to run conformance kits (or your own integration tests) against a real database.
Installation
dotnet add package Excalibur.Testing.Containers
What's included
| Type | Purpose |
|---|---|
ContainerFixtureBase |
Base class with Docker lifecycle, timeout handling, transient-failure retry, and optional graceful degradation. |
IDatabaseContainerFixture |
Contract for database container fixtures (connection string, engine, CreateDbConnection). |
SqlServerContainerFixture |
Ready SQL Server fixture (Testcontainers.MsSql). |
PostgresContainerFixture |
Ready PostgreSQL fixture (Testcontainers.PostgreSql). |
Container timeouts scale with the TEST_TIMEOUT_MULTIPLIER environment variable via ContainerTimeouts.
Quick start — run a conformance kit against a real database
public sealed class MySqlServerOutboxConformanceTests
: OutboxStoreConformanceTestKit, IClassFixture<SqlServerContainerFixture>
{
private readonly SqlServerContainerFixture _fixture;
public MySqlServerOutboxConformanceTests(SqlServerContainerFixture fixture) => _fixture = fixture;
protected override IOutboxStore CreateStore() =>
new MySqlServerOutboxStore(_fixture.ConnectionString);
[Fact] public Task Append() => AppendAsync_Persists();
}
License
This package is part of the Excalibur framework. See LICENSE for license details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Data.SqlClient (>= 7.0.0)
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Caching.Memory (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- Microsoft.IdentityModel.Tokens (>= 8.17.0)
- Npgsql (>= 10.0.2)
- SSH.NET (>= 2026.0.0)
- System.IdentityModel.Tokens.Jwt (>= 8.17.0)
- Testcontainers (>= 4.11.0)
- Testcontainers.CosmosDb (>= 4.11.0)
- Testcontainers.MsSql (>= 4.11.0)
- Testcontainers.PostgreSql (>= 4.11.0)
- Testcontainers.RabbitMq (>= 4.11.0)
- Testcontainers.Redis (>= 4.11.0)
- xunit.v3.extensibility.core (>= 3.2.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.0-alpha.8 | 48 | 8/14/2026 |
| 10.0.0-alpha.7 | 49 | 8/13/2026 |
| 10.0.0-alpha.6 | 66 | 8/11/2026 |
| 10.0.0-alpha.5 | 42 | 8/10/2026 |
See CHANGELOG.md for release notes