Skip to main content
net8.0net9.0.NETStandard2.0

This package extends Microsoft Testing Platform to produce test reports in the Common Test Report Format (CTRF, https://ctrf.io). Microsoft Testing is a set of platform, framework and protocol intended to make it possible to run any test on any target or device.

Published
Oct 7, 2026
12d ago
Total Downloads
10.6K
10,630

Install

dotnet add package Microsoft.Testing.Extensions.CtrfReport --version 1.0.0-alpha.26507.8
ProductVersions
.NET
net8.0net9.0
.NET Standard
netstandard2.0

README

Microsoft.Testing.Extensions.CtrfReport

Microsoft.Testing.Extensions.CtrfReport is an extension for Microsoft.Testing.Platform that generates a test report in the Common Test Report Format (CTRF) at the end of a test session.

Microsoft.Testing.Platform is open source. You can find Microsoft.Testing.Extensions.CtrfReport code in the microsoft/testfx GitHub repository.

Install the package

dotnet add package Microsoft.Testing.Extensions.CtrfReport

About

⚠️ Experimental: This extension is currently experimental. The API, CLI options and on-disk format may change in future releases without notice. The CTRF specification itself is also pre-1.0 and may evolve.

This package extends Microsoft.Testing.Platform with:

  • CTRF (Common Test Report Format) report: a single JSON file conforming to the immutable CTRF 0.1.0 schema that can be consumed by any tool that understands CTRF (dashboards, CI integrations, AI agents, etc.) without requiring a TRX or JUnit XML parser.
  • Cross-tool interoperability: same shape as outputs produced by other testing frameworks that adopt CTRF, so results from multiple test runs can be aggregated by a single consumer.

Usage

Enable the report via the --report-ctrf command line option. The report file name can be overridden with --report-ctrf-filename <name>.json.

Identity and attachment semantics

  • testId is derived from the producing framework's full Microsoft.Testing.Platform TestNode.Uid. Most UIDs within the capture bound are emitted unchanged; values in the reserved uid:/sha256: namespaces are escaped, and longer UIDs use a deterministic SHA-256 identity, so neither truncation nor a hash-shaped raw UID can merge distinct tests. The CTRF extension does not add cross-run or cross-module stability guarantees beyond the framework's UID contract.
  • executionId is a new UUID for each reported CTRF execution lifecycle. Earlier attempts represented in retryAttempts receive their own attemptId.
  • extra.uid continues to carry the Microsoft.Testing.Platform UID for compatibility with reports produced before first-class CTRF identity fields were available.
  • attachments[].path is emitted unchanged as an opaque CTRF path value. It can be a local absolute file path and consumers must not assume that it is remotely accessible.

Documentation

For comprehensive documentation, see https://aka.ms/testingplatform.

For the versioned CTRF specification, see https://github.com/ctrf-io/ctrf/blob/v0.1.0/spec/ctrf.md.

Feedback & contributing

Microsoft.Testing.Platform is an open source project. Provide feedback or report issues in the microsoft/testfx GitHub repository.

Changes from Previous Version

No structural changes between v1.0.0-alpha.26506.1 and v1.0.0-alpha.26507.8.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

This version is marked prerelease. Validate its API and upgrade path before production use.Compatibility metadata lists 3 target frameworks; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.