SolTechnology.Core.Redis.Testing 1.0.0

dotnet add package SolTechnology.Core.Redis.Testing --version 1.0.0
                    
NuGet\Install-Package SolTechnology.Core.Redis.Testing -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SolTechnology.Core.Redis.Testing" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SolTechnology.Core.Redis.Testing" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="SolTechnology.Core.Redis.Testing" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SolTechnology.Core.Redis.Testing --version 1.0.0
                    
#r "nuget: SolTechnology.Core.Redis.Testing, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SolTechnology.Core.Redis.Testing@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SolTechnology.Core.Redis.Testing&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=SolTechnology.Core.Redis.Testing&version=1.0.0
                    
Install as a Cake Tool

SolTechnology.Core.Redis.Testing

Integration-testing fixture for apps backed by Redis (e.g. SolTechnology.Core.Cache Redis consumers): a Testcontainers-backed RedisFixture that boots a Redis container and hands back the connection details your app already wires.

Reference from test projects only — not needed at runtime in production assemblies.

What's in the box

Member Purpose
RedisFixture Boots a redis:7-alpine container (random host port), exposes HostName / ConnectionString, FlushAsync() and honours the shared reuse policy.
HostName host:port — the value apps bind to Redis:HostName.
ConnectionString Full StackExchange.Redis connection string.
FlushAsync() Clears all keys — the between-test reset when the container is reused.
WithNetwork(network, alias) Attach to a docker network to share with other fixtures.

Usage

// Assembly-level [OneTimeSetUp]
RedisFixture = new RedisFixture();
await RedisFixture.InitializeAsync();

var configuration = new TestConfigurationBuilder()
    .AddJsonFile("appsettings.tests.json")
    .Override("Redis:HostName", RedisFixture.HostName)
    .Override("Redis:Enabled", "true")
    .Build();

// In a per-test teardown, when the container is reused:
await RedisFixture.FlushAsync();

// Assembly-level [OneTimeTearDown]
await RedisFixture.DisposeAsync();   // no-op when TESTCONTAINERS_REUSE=true

Container lifetime & reuse

The fixture defers to SolTechnology.Core.Testing's TestContainersContext:

  • Within a run — boot once in [OneTimeSetUp]; every test reuses the same container for free.
  • Across runs — set TESTCONTAINERS_REUSE=true to keep the container alive between runs (stable name + WithReuse(true)); DisposeAsync() becomes a no-op. CI stays hermetic by default.
  • Between tests — call FlushAsync() to reset state without restarting the container.
Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
1.0.0 59 7/6/2026