Rig.TUnit.Microservices
0.1.0-beta.2
dotnet add package Rig.TUnit.Microservices --version 0.1.0-beta.2
NuGet\Install-Package Rig.TUnit.Microservices -Version 0.1.0-beta.2
<PackageReference Include="Rig.TUnit.Microservices" Version="0.1.0-beta.2" />
<PackageVersion Include="Rig.TUnit.Microservices" Version="0.1.0-beta.2" />
<PackageReference Include="Rig.TUnit.Microservices" />
paket add Rig.TUnit.Microservices --version 0.1.0-beta.2
#r "nuget: Rig.TUnit.Microservices, 0.1.0-beta.2"
#:package Rig.TUnit.Microservices@0.1.0-beta.2
#addin nuget:?package=Rig.TUnit.Microservices&version=0.1.0-beta.2&prerelease
#tool nuget:?package=Rig.TUnit.Microservices&version=0.1.0-beta.2&prerelease
Rig.TUnit.Microservices
Opinionated microservice-testing meta-package: Core + Mediator + Grpc + Outbox + Inbox + EventSourcing + Snapshots + Saga + Contracts + Tracing + Jwt + Seq.
What this package is
A meta-package wired for the full CQRS / event-sourcing microservice stack
Rig.TUnit is built around. Install this one NuGet and you get the command
side (outbox relay, idempotency), query side (inbox + snapshotting), contract
verification, saga harness, distributed tracing, and JWT-authenticated gRPC
client helpers in one using block.
Prefer this over Rig.TUnit.All when your repo is a microservice; use
Rig.TUnit when it is just a web API.
When to use it
- Writing integration tests for an event-sourced microservice.
- Validating pact-style contract suites against a real gRPC/HTTP surface.
- Orchestrating saga-step assertions across multiple aggregates.
- Not for: a monolithic ASP.NET Core MVC app —
Rig.TUnitis smaller.
Prerequisites
- .NET 10 SDK
- Docker Desktop / Colima (any transitively-referenced provider you use)
Quick start
using Rig.TUnit.Core.Builder;
using Rig.TUnit.Core.Helpers;
var rig = new RigBuilder()
.WithIsolation(IsolationKey.FromExecutionContext())
.Build();
await using var _ = rig;
Options
§6 — N/A: meta-package. Each transitively-referenced package binds its own
options section (RigTUnit:Outbox, RigTUnit:Inbox, RigTUnit:Grpc, etc.).
Fixture + helper APIs
Every public API from the referenced packages is exposed; see their READMEs:
Per-test isolation
Delegated to each referenced package. The IsolationKey threaded through
RigBuilder shows up in outbox relay IDs, inbox dedup keys, saga harness
correlation IDs, and gRPC trace tags.
Parallelism + performance
§9 — N/A: meta-package; see individual package READMEs for per-feature
parallelism cost. Outbox + Inbox are typically the hot paths.
Troubleshooting
- Version drift across referenced packages — this meta-package pins every
dependency version; do not re-declare
<PackageVersion>entries in consuming projects.
Provider quirks + edge cases
§11 — N/A: meta-package; quirks are in each leaf README.
Benchmarks
§12 — N/A: meta-package. Transitively-referenced packages have their own
entries in tests/Rig.TUnit.Benchmarks/ and benchmarks/baseline-005.json.
Related docs
License
MIT. See LICENSE.
| 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
- Bogus (>= 35.6.1)
- Google.Protobuf (>= 3.32.1)
- Grpc.AspNetCore (>= 2.67.0)
- Grpc.AspNetCore.Server (>= 2.67.0)
- Grpc.Net.Client (>= 2.67.0)
- Grpc.Tools (>= 2.67.0)
- Mediator.Abstractions (>= 3.0.2)
- Microsoft.AspNetCore.Mvc.Testing (>= 10.0.0)
- Microsoft.Extensions.Configuration (>= 10.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.0)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.0)
- Microsoft.Extensions.Configuration.Json (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Physical (>= 10.0.0)
- Microsoft.Extensions.Hosting (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Http (>= 10.0.0)
- Microsoft.Extensions.Logging (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Options (>= 10.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.0)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.0)
- Microsoft.IdentityModel.JsonWebTokens (>= 8.3.0)
- Microsoft.IdentityModel.Tokens (>= 8.3.0)
- OpenTelemetry (>= 1.15.3)
- OpenTelemetry.Api (>= 1.15.3)
- OpenTelemetry.Exporter.InMemory (>= 1.15.3)
- Rig.TUnit.Core (>= 0.1.0-beta.2)
- Rig.TUnit.Grpc (>= 0.1.0-beta.2)
- Rig.TUnit.Mediator (>= 0.1.0-beta.2)
- Rig.TUnit.Microservices.Contracts (>= 0.1.0-beta.2)
- Rig.TUnit.Microservices.EventSourcing (>= 0.1.0-beta.2)
- Rig.TUnit.Microservices.Inbox (>= 0.1.0-beta.2)
- Rig.TUnit.Microservices.Outbox (>= 0.1.0-beta.2)
- Rig.TUnit.Microservices.Saga (>= 0.1.0-beta.2)
- Rig.TUnit.Microservices.Snapshots (>= 0.1.0-beta.2)
- Rig.TUnit.Observability.Logging (>= 0.1.0-beta.2)
- Rig.TUnit.Observability.Seq (>= 0.1.0-beta.2)
- Rig.TUnit.Observability.Tracing (>= 0.1.0-beta.2)
- Rig.TUnit.Security.Jwt (>= 0.1.0-beta.2)
- Serilog (>= 4.2.0)
- Serilog.Extensions.Logging (>= 9.0.0)
- Serilog.Sinks.Console (>= 6.0.0)
- Serilog.Sinks.Seq (>= 8.0.0)
- System.IdentityModel.Tokens.Jwt (>= 8.3.0)
- Testcontainers (>= 4.11.0)
- TUnit.Core (>= 1.34.5)
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 |
|---|---|---|
| 0.1.0-beta.2 | 43 | 4/27/2026 |
| 0.0.0-alpha.0.14 | 44 | 4/26/2026 |