Rig.TUnit
0.1.0-beta.2
dotnet add package Rig.TUnit --version 0.1.0-beta.2
NuGet\Install-Package Rig.TUnit -Version 0.1.0-beta.2
<PackageReference Include="Rig.TUnit" Version="0.1.0-beta.2" />
<PackageVersion Include="Rig.TUnit" Version="0.1.0-beta.2" />
<PackageReference Include="Rig.TUnit" />
paket add Rig.TUnit --version 0.1.0-beta.2
#r "nuget: Rig.TUnit, 0.1.0-beta.2"
#:package Rig.TUnit@0.1.0-beta.2
#addin nuget:?package=Rig.TUnit&version=0.1.0-beta.2&prerelease
#tool nuget:?package=Rig.TUnit&version=0.1.0-beta.2&prerelease
Rig.TUnit
Convenience meta-package bundling Core + Mediator + Grpc + WebAPI — the default entry point for most projects.
What this package is
Rig.TUnit is a zero-code meta-package that pulls in the four packages most
projects need for integration-grade testing: Rig.TUnit.Core (the RigBuilder
CRTP + IsolationKey), Rig.TUnit.Mediator (MediatR fakes + pipeline
inspection), Rig.TUnit.Grpc (WebApplicationFactory-style gRPC host), and
Rig.TUnit.WebAPI (JWT/OAuth test-auth helpers). Reach for it in any new
repo that tests an ASP.NET Core + MediatR + gRPC stack.
It is deliberately smaller than Rig.TUnit.All — the 60-package kitchen sink
is almost always overkill.
When to use it
- You are kicking off a new test project and want the common 80 % of Rig.TUnit
in one
dotnet add packagecall. - Your service under test is a typical ASP.NET Core host with MediatR handlers and optional gRPC endpoints.
- You will add provider-specific packages (
Rig.TUnit.Databases.Sql.Postgresql,Rig.TUnit.Messaging.Kafka, etc.) on top as you need them. - Not for: pure domain-unit projects with no HTTP/gRPC surface (just add
Rig.TUnit.Coredirectly).
Prerequisites
- .NET 10 SDK
- Docker Desktop or Colima (required by any provider package you layer on)
Quick start
using Rig.TUnit.Core.Builder;
using Rig.TUnit.Core.Helpers;
var isolation = IsolationKey.FromExecutionContext();
var rig = new RigBuilder()
.WithIsolation(isolation)
.Build();
await using var _ = rig;
Options
§6 — N/A: meta-package exposes no FixtureOptions; each referenced package
(Core / Mediator / Grpc / WebAPI) ships its own options bound under its own configuration section.
Fixture + helper APIs
Rig.TUnit.Core.Builder.RigBuilder— root CRTP builderRig.TUnit.Core.Helpers.IsolationKey— per-test namingRig.TUnit.Mediator.Helpers.MediatorPipelineProbe— inspectionRig.TUnit.Grpc.Helpers.GrpcTestHost— in-process gRPC hostRig.TUnit.WebAPI.Helpers.TestAuthHeaderBuilder— JWT/OAuth headers
Per-test isolation
Delegates to the referenced packages; Rig.TUnit.Core provides IsolationKey
which every downstream builder threads into container / host names.
Parallelism + performance
§9 — N/A: meta-package; parallelism characteristics are determined by the
specific providers you layer on. See Rig.TUnit.Core's README for the
baseline RigBuilder cost.
Troubleshooting
- Missing provider package —
Rig.TUnitintentionally does NOT pull database / messaging / storage packages. Add them explicitly. - Version drift — pin all
Rig.TUnit.*packages to the same version viaDirectory.Packages.propsto avoid transitive mismatches.
See docs/troubleshooting.md for the full catalogue.
Provider quirks + edge cases
§11 — N/A: meta-package; provider-specific quirks live in each leaf README.
Benchmarks
§12 — N/A: meta-package has no runnable code of its own. The referenced
packages each have their own tests/Rig.TUnit.Benchmarks/*Benchmarks.cs
entries tracked in 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)
- 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.WebAPI (>= 0.1.0-beta.2)
- Serilog (>= 4.2.0)
- Serilog.Sinks.Console (>= 6.0.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 | 48 | 4/27/2026 |
| 0.0.0-alpha.0.14 | 43 | 4/26/2026 |