Add VSTest to MTP migration skill - #373
Conversation
New migrate-vstest-to-mtp skill in the dotnet-test plugin covering: - Framework-specific MTP runner enablement (MSTest, NUnit, xUnit.net) - Directory.Build.props centralization of OutputType, runner properties - MSTest.Sdk UseVSTest removal - NUnit3TestAdapter 5.0.0+ upgrade requirement - xunit v2 to xunit.v3 upgrade requirement - dotnet test CLI argument translation (--logger to --report-trx, --collect to --coverage, --blame-crash to --crashdump, --blame-hang to --hangdump) - xUnit.net --filter syntax migration to --filter-class/--filter-trait/ --filter-query - global.json native MTP mode (.NET 10+) vs TestingPlatformDotnetTestSupport VSTest-bridge mode (.NET 9 and earlier) - Azure DevOps VSTest@3 to DotNetCoreCLI@2 pipeline migration - MTP extension NuGet packages (TrxReport, CrashDump, HangDump, CodeCoverage) - Exit code 8 behavioral difference (--ignore-exit-code 8, TESTINGPLATFORM_EXITCODE_IGNORE) Includes 10 eval scenarios with tiered timeouts (240-360s), 5 fixture directories, plugin.json, marketplace.json entries, CODEOWNERS, and README.md updates.
# Conflicts: # plugins/dotnet-test/plugin.json
# Conflicts: # .claude-plugin/marketplace.json # .github/plugin/marketplace.json # README.md
There was a problem hiding this comment.
Pull request overview
This PR adds a new migrate-vstest-to-mtp skill to the dotnet-test plugin, providing guidance for migrating .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). It covers MSTest, NUnit, and xUnit.net frameworks, including CI/CD pipeline updates, CLI argument translation, and behavioral differences.
Changes:
- Added the
migrate-vstest-to-mtpSKILL.md with a comprehensive 10-step migration workflow covering all three major .NET test frameworks. - Added eval scenarios (10 goals) with fixtures for MSTest, NUnit, xUnit.net, MSTest.Sdk, and CI pipeline migration scenarios.
- Updated plugin description in
plugin.json,README.md, and bothmarketplace.jsonfiles to reflect the new migration capability.
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md |
New skill document with detailed VSTest→MTP migration workflow |
tests/dotnet-test/migrate-vstest-to-mtp/eval.yaml |
10 eval scenarios covering various migration paths |
tests/dotnet-test/migrate-vstest-to-mtp/fixtures/* |
Test fixture files (csproj, cs, yml) for each scenario |
plugins/dotnet-test/plugin.json |
Updated description to include "migrating" |
README.md |
Updated dotnet-test plugin description |
.github/plugin/marketplace.json |
Updated dotnet-test description |
.claude-plugin/marketplace.json |
Updated dotnet-test description (kept in sync) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
Skill Validation Results
Model: claude-opus-4.6 | Judge: claude-opus-4.6 |
Skill Validation Results
Model: claude-opus-4.6 | Judge: claude-opus-4.6 |
There was a problem hiding this comment.
Pull request overview
This PR adds a new migrate-vstest-to-mtp skill to the dotnet-test plugin, providing comprehensive guidance for migrating .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). It replaces the earlier PR #346 with a refined implementation.
Changes:
- Adds
SKILL.mdwith a 10-step migration workflow covering MSTest, NUnit, and xUnit.net frameworks, CLI argument translation, CI/CD pipeline updates, and behavioral differences. - Adds
eval.yamlwith 10 evaluation scenarios and 5 fixture directories for testing the skill. - Updates plugin descriptions in
plugin.json, bothmarketplace.jsonfiles, andREADME.mdto include "migrating" in the dotnet-test plugin description.
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md |
New skill document with full VSTest→MTP migration workflow |
tests/dotnet-test/migrate-vstest-to-mtp/eval.yaml |
10 eval scenarios covering all migration goals |
tests/dotnet-test/migrate-vstest-to-mtp/fixtures/* |
5 fixture directories with .csproj, .cs, and .yml test files |
plugins/dotnet-test/plugin.json |
Updated description to include "migrating" |
README.md |
Updated dotnet-test plugin description |
.github/plugin/marketplace.json |
Updated dotnet-test description |
.claude-plugin/marketplace.json |
Updated dotnet-test description |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
Skill Validation Results
[1] (Plugin) Quality improved but weighted score is -21.8% due to: judgment Model: claude-opus-4.6 | Judge: claude-opus-4.6 |
Replaces #346