Document MSTest and MTP feature versions#54408
Open
Evangelink wants to merge 5 commits into
Open
Conversation
Analyze MSTest (3.6-4.2) and Microsoft.Testing.Platform (1.5-2.3) features against the microsoft/testfx changelogs and add missing "introduced in" version annotations, document previously undocumented features, and correct stale content (TRX default filename, removed ITestApplicationLifecycleCallbacks, testconfig.json CLI-option support). All new xref IDs verified against the .NET API catalog; markdownlint clean. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the .NET testing documentation under docs/core/testing/ to consistently annotate MSTest and Microsoft.Testing.Platform (MTP) features with the version where each feature was introduced, based on the upstream microsoft/testfx changelogs. It also adds ai-usage: ai-assisted frontmatter where it was missing.
Changes:
- Adds “introduced in version …” notes across MSTest docs (assertions, data-driven tests, execution control, lifecycle, TestContext, and metadata/work items).
- Expands MTP docs with versioned notes for reports (including HTML/JUnit/CTRF), terminal output, config capabilities, OpenTelemetry, and CLI option renames/removals.
- Refreshes
ms.datevalues to reflect the update date.
Show a summary per file
| File | Description |
|---|---|
| docs/core/testing/unit-testing-mstest-writing-tests-testcontext.md | Adds versioned notes for TestRunCount, categories in TestContext.Properties, and experimental TestContext.Current. |
| docs/core/testing/unit-testing-mstest-writing-tests-organizing.md | Adds version-introduction note for GitHubWorkItemAttribute. |
| docs/core/testing/unit-testing-mstest-writing-tests-lifecycle.md | Notes MSTest 4.2 cleanup failures as separate results. |
| docs/core/testing/unit-testing-mstest-writing-tests-data-driven.md | Adds version annotations for generic tests, DateOnly/TimeOnly, DynamicData behaviors, field support, Arguments, and TestDataRow<T>. |
| docs/core/testing/unit-testing-mstest-writing-tests-controlling-execution.md | Adds version annotations for retry/condition base types and built-in conditions. |
| docs/core/testing/unit-testing-mstest-writing-tests-assertions.md | Adds version notes for new assertion behaviors/APIs (including Assert.That and newer assert families). |
| docs/core/testing/unit-testing-mstest-configure.md | Documents LaunchDebuggerOnTestFailure/launchDebuggerOnTestFailure with version context. |
| docs/core/testing/microsoft-testing-platform-test-reports.md | Adds versioned TRX details and new sections for HTML/JUnit/CTRF reports. |
| docs/core/testing/microsoft-testing-platform-terminal-output.md | Documents progress option changes and LLM/AI environment behavior (MTP 2.3.0). |
| docs/core/testing/microsoft-testing-platform-run-and-debug.md | Adds versioned note for two-stage Ctrl+C behavior. |
| docs/core/testing/microsoft-testing-platform-open-telemetry.md | Adds version availability note for the OpenTelemetry extension. |
| docs/core/testing/microsoft-testing-platform-config.md | Documents new 2.3.0 capabilities (environmentVariables, CLI options via config, and NO_COLOR). |
| docs/core/testing/microsoft-testing-platform-cli-options.md | Adds versioned notes about diagnostic option renames/removals in MTP 2.0.0. |
| docs/core/testing/microsoft-testing-platform-architecture-extensions.md | Updates lifecycle extension guidance for the v1→v2 replacement and updates related references. |
Copilot's findings
- Files reviewed: 14/14 changed files
- Comments generated: 3
Add a shared 'Report file names' section listing the placeholder set and link each --report-*-filename option to it. State the default file name for TRX, HTML, JUnit, and CTRF reports (verified from testfx source), and note the HTML/JUnit/CTRF extensions are experimental. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add the missing MSTEST0047 (suppress IDE0060 for the TestContext parameter of fixture methods, introduced in MSTest 3.10) analyzer page, and reference it from the analyzers overview, suppression rules list, and TOC. Document the new --report-azdo-summary and --report-azdo-stackframe-filter options (MTP 2.3.0). Verified against microsoft/testfx source. Markdownlint clean. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fix three ITestHostProcessLifetimeHandler sequence links that pointed to the wrong section anchor, and clarify that field data sources require MSTest 3.11. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
gewarren
approved these changes
Jun 16, 2026
Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
Member
Author
|
@copilot resolve the merge conflicts in this pull request |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Analyzes all notable MSTest and Microsoft.Testing.Platform (MTP) features against the authoritative microsoft/testfx changelogs (
docs/Changelog.mdfor MSTest,docs/Changelog-Platform.mdfor MTP) and ensures each is documented with the version it was introduced in. 14 files underdocs/core/testing/updated. All new<xref>IDs verified against the .NET API catalog; markdownlint clean.Note
Created with AI assistance (
ai-usage: ai-assistedadded where missing).MSTest (versions from changelog)
Assert.That+[CallerArgumentExpression]in all asserts (4.0); added missingAssert.EndsWith(3.10) andAssert.IsExactInstanceOfType/IsNotExactInstanceOfType(4.1).TestDataRow<T>(3.8),DynamicDatafield source (3.11) + auto-detected source type (3.8) +Arguments(3.10), generic test methods (3.8),DateOnly/TimeOnlyrows (3.10).RetryBaseAttribute/ConditionBaseAttribute/OSConditionAttribute(3.8),CIConditionAttribute(3.10), separate class/assembly cleanup results (4.2),TestContext.TestRunCount(3.9), experimentalTestContext.Current(4.2), categories inTestContext.Properties(4.2),launchDebuggerOnTestFailure(4.2),GitHubWorkItemAttribute(3.8).MTP (versions from platform changelog)
--diagnostic-file-prefix/--diagnostic-synchronous-writerename notes (2.0.0);--progress+--no-progressdeprecation, LLM-environment behavior (2.3.0).--report-trx-filenamedefault/placeholders, TRX streaming +Descriptionfield; new HTML, JUnit, CTRF report extensions (2.3.0) with source-verified option names.environmentVariables+ CLI-options-in-testconfig.json+NO_COLOR(2.3.0), OpenTelemetry intro (2.1.0),ITestApplicationLifecycleCallbacks→ITestHostApplicationLifetimeremoval/replacement (2.0.0), two-stage Ctrl+C (2.3.0).Reviewer notes
[Retry],[AssemblyFixtureProvider],[MemberCondition], MSTEST0064-0070, random order, source generator, etc.GenerateTestingPlatformEntryPoint) worth a quick confirmation.Internal previews
Toggle expand/collapse