Precept.Grpc
0.11.0
dotnet add package Precept.Grpc --version 0.11.0
NuGet\Install-Package Precept.Grpc -Version 0.11.0
<PackageReference Include="Precept.Grpc" Version="0.11.0" />
<PackageVersion Include="Precept.Grpc" Version="0.11.0" />
<PackageReference Include="Precept.Grpc" />
paket add Precept.Grpc --version 0.11.0
#r "nuget: Precept.Grpc, 0.11.0"
#:package Precept.Grpc@0.11.0
#addin nuget:?package=Precept.Grpc&version=0.11.0
#tool nuget:?package=Precept.Grpc&version=0.11.0
Precept.Grpc
gRPC testing for Precept: pooled channels, typed clients, and assertions over status codes, deadlines and streaming responses.
dotnet add package Precept.Grpc
var greeter = Rpc.Client<Greeter.GreeterClient>();
var reply = await Rpc.CallAsync(
() => greeter.SayHelloAsync(new HelloRequest { Name = "Ada" }, Rpc.Options()));
var greetings = await Rpc.CollectAsync(
greeter.StreamGreetings(new HelloRequest { Name = "Ada" }, Rpc.Options()));
var status = await Rpc.ShouldFailAsync(
() => greeter.SayHelloAsync(new HelloRequest(), Rpc.Options()),
StatusCode.InvalidArgument);
Rpc.Client<T> works for any client generated from a .proto. Rpc.Options() carries the
configured deadline and the test's cancellation token. Every call is logged with its duration and
status. CollectAsync stops at maxItems (1000 by default), so a misbehaving stream cannot hang
the test forever.
Channels are pooled per address for the run rather than opened per call. The address comes from
configuration, so the same suite runs against a container started by
Precept.Containers locally and against a deployed service in CI.
Note: the gRPC assertions are still the older helpers that throw on their own, rather than the
Assert.That(…) sentence the rest of the framework uses. Moving them onto Subject<T> is planned.
Part of Precept, a .NET 10 test framework built on Microsoft.Testing.Platform. Full documentation: assertions · configuration · what is not built yet
| 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
- Grpc.Net.Client (>= 2.83.0)
- Microsoft.Extensions.Configuration (>= 10.0.12)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.12)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.12)
- Microsoft.Extensions.Configuration.Json (>= 10.0.12)
- Microsoft.Extensions.DependencyInjection (>= 10.0.12)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- Precept.Core (>= 0.11.0)
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.11.0 | 0 | 9/15/2026 |
| 0.10.0 | 58 | 9/10/2026 |
| 0.8.0 | 49 | 9/10/2026 |
| 0.7.0 | 53 | 9/9/2026 |
| 0.6.0 | 93 | 9/2/2026 |
| 0.5.1 | 88 | 9/2/2026 |
| 0.5.0 | 88 | 9/1/2026 |
| 0.4.1 | 101 | 8/16/2026 |
| 0.4.0 | 116 | 8/16/2026 |
| 0.3.0 | 95 | 8/15/2026 |
| 0.2.0 | 103 | 8/15/2026 |
| 0.1.3 | 99 | 8/13/2026 |
| 0.1.2 | 107 | 8/13/2026 |
| 0.1.1 | 103 | 8/13/2026 |
| 0.1.0 | 105 | 8/12/2026 |