ProtoTest.Verification 1.1.5

There is a newer version of this package available.
See the version list below for details.
dotnet add package ProtoTest.Verification --version 1.1.5
                    
NuGet\Install-Package ProtoTest.Verification -Version 1.1.5
                    
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="ProtoTest.Verification" Version="1.1.5" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ProtoTest.Verification" Version="1.1.5" />
                    
Directory.Packages.props
<PackageReference Include="ProtoTest.Verification" />
                    
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 ProtoTest.Verification --version 1.1.5
                    
#r "nuget: ProtoTest.Verification, 1.1.5"
                    
#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 ProtoTest.Verification@1.1.5
                    
#: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=ProtoTest.Verification&version=1.1.5
                    
Install as a Cake Addin
#tool nuget:?package=ProtoTest.Verification&version=1.1.5
                    
Install as a Cake Tool

ProtoTest.Verification

Preview: the surface can change before 1.2.

Compares two runs' reports and returns a verdict a pull request gate can use: coverage regressions, new uncovered units, the specification identity the candidate was verified against, and the failed run gates the candidate recorded. It also compares two traces test by test and names where each changed test's runs part, and proves a fix from recorded runs.

dotnet add package ProtoTest.Verification
var baseline = ProtoVerificationRun.FromReportFile("baseline.json");
var current = ProtoVerificationRun.FromReportFile("current.json");
var verdict = ProtoVerification.Verify(baseline, current,
[
    new ProtoSpecCandidate("Api", "openapi.json")
]);

if (verdict.Failed)
{
    foreach (var finding in verdict.Findings.Where(f => f.Severity == ProtoVerificationSeverities.Fail))
    {
        Console.WriteLine($"{finding.Class}: {finding.Message}");
    }
}
var comparison = ProtoVerification.Compare("main.prototrace", "current.prototrace");
foreach (var test in comparison.Tests.Where(t => t.Change == ProtoTestChanges.Broken))
{
    Console.WriteLine($"{test.Name} broke at {test.Divergence?.Current?.Name}");
}
var receipt = ProtoVerification.Prove("before.prototrace", ["after.prototrace"], ["orders are listed"]);
Console.WriteLine(receipt.Proven ? "proven" : string.Join("; ", receipt.Tests.SelectMany(t => t.Reasons).Select(r => r.Message)));

A run recorded its specification identity when its OpenAPI or GraphQL schema coverage collector loaded one: one aggregate coverage item per target carrying spec.source and the SHA-256 hash of the loaded content. The identity item has no verdict, so report arithmetic ignores it.

Limits

  • Verify reads reports, not traces. Write them with a ProtoTest.Reporting sink (JsonReportSink); ProtoReport.ReadJson reads the sink's format.
  • Coverage is the report's own arithmetic: units are coverage items with a verdict, matched by target, category and identifier. No spans are re-read and no coverage is recomputed.
  • A regression is a unit the baseline covered and the candidate does not (fail by default); a new uncovered unit warns. A unit or target that disappeared from the candidate is not a finding, and the delta row shows it.
  • Specification integrity compares the recorded hash with a candidate file you give. A remote source is recorded but never fetched; no candidate means recorded, not re-verified.
  • The identity item records the configured source as written. An inline specification is therefore carried in the report metadata, so prefer a file or URL when report size matters.
  • Failed candidate run gates are surfaced from the report's gate items; the candidate's own gate reasons stay its own. Verification does not add run gates and does not duplicate a suite's single-run coverage threshold.
  • Compare matches tests by name and pairs operations by kind, name and subject in recorded order, with ports, ids and long numbers masked. A skipped test is not a failure. Error messages are not compared, only error types, because messages carry run-specific values.
  • Prove proves what the recorded runs show: the claimed tests failed in the baseline and succeeded in every current run, no test broke, and the reports both runs embedded verify. Without embedded reports the receipt says coverage was not compared.
  • The library writes nothing: no trace, no report, no rerun.

Learn more

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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 (1)

Showing the top 1 NuGet packages that depend on ProtoTest.Verification:

Package Downloads
ProtoTest.Feedback

Posts a ProtoTest run's failure digest where a pull request reads it: a comment with the trace link, check annotations, and a webhook for a machine consumer.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.6 0 10/4/2026
1.1.5 6 10/3/2026
1.1.4 31 10/3/2026
1.1.3 42 10/3/2026
1.1.2 32 10/3/2026
1.1.1 37 10/2/2026
1.1.0 61 10/2/2026