Add VSTest to MTP migration skill - #346
Closed
Evangelink wants to merge 6 commits into
Closed
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.
Member
|
/evaluate |
Contributor
|
❌ Evaluation did not complete (upstream job failed or was skipped). View workflow run |
Member
|
/evaluate |
Contributor
Skill Validation Results
Model: claude-opus-4.6 | Judge: claude-opus-4.6 |
# Conflicts: # plugins/dotnet-test/plugin.json
Member
Author
|
/evaluate |
Contributor
Skill Validation Results
Model: claude-opus-4.6 | Judge: claude-opus-4.6 |
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new migrate-vstest-to-mtp skill to the dotnet-test plugin, along with evaluation coverage and fixtures, to guide migrating .NET test projects from VSTest to Microsoft.Testing.Platform (MTP) and updating CI usage accordingly.
Changes:
- Introduces
migrate-vstest-to-mtpskill documentation covering runner enablement, config centralization, CLI arg translation, and CI guidance. - Adds a new eval suite (
eval.yaml) plus multiple fixture projects/pipeline samples for MSTest, NUnit, and xUnit scenarios. - Updates plugin discovery/metadata (plugin description + marketplace + repo README listing).
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/dotnet-test/migrate-vstest-to-mtp/fixtures/xunit-vstest/TestProject.csproj | New xUnit v2 VSTest fixture project for migration scenarios. |
| tests/dotnet-test/migrate-vstest-to-mtp/fixtures/xunit-vstest/CalculatorTests.cs | New xUnit fixture tests used by eval scenarios. |
| tests/dotnet-test/migrate-vstest-to-mtp/fixtures/nunit-vstest/TestProject.csproj | New NUnit VSTest fixture project for migration scenarios. |
| tests/dotnet-test/migrate-vstest-to-mtp/fixtures/nunit-vstest/CalculatorTests.cs | New NUnit fixture tests used by eval scenarios. |
| tests/dotnet-test/migrate-vstest-to-mtp/fixtures/mstest-vstest/TestProject.csproj | New MSTest VSTest fixture project for migration scenarios. |
| tests/dotnet-test/migrate-vstest-to-mtp/fixtures/mstest-vstest/CalculatorTests.cs | New MSTest fixture tests used by eval scenarios. |
| tests/dotnet-test/migrate-vstest-to-mtp/fixtures/mstest-sdk-vstest/TestProject.csproj | New MSTest.Sdk fixture demonstrating <UseVSTest>true</UseVSTest> opt-out. |
| tests/dotnet-test/migrate-vstest-to-mtp/fixtures/mstest-sdk-vstest/AppTests.cs | New MSTest.Sdk fixture tests used by eval scenarios. |
| tests/dotnet-test/migrate-vstest-to-mtp/fixtures/mstest-ci-pipeline/azure-pipelines.yml | New Azure DevOps pipeline fixture demonstrating VSTest@3 usage to be migrated. |
| tests/dotnet-test/migrate-vstest-to-mtp/fixtures/mstest-ci-pipeline/TestProject.csproj | New MSTest project fixture paired with the pipeline migration scenario. |
| tests/dotnet-test/migrate-vstest-to-mtp/fixtures/mstest-ci-pipeline/ServiceTests.cs | New MSTest fixture tests used by the pipeline scenario. |
| tests/dotnet-test/migrate-vstest-to-mtp/eval.yaml | New eval suite defining 10 migration scenarios and rubrics. |
| plugins/dotnet-test/skills/migrate-vstest-to-mtp/SKILL.md | New skill playbook for VSTest→MTP migrations (projects, CLI args, CI). |
| plugins/dotnet-test/plugin.json | Updates plugin description to include migration capabilities. |
| README.md | Adds dotnet-test to the root plugin list. |
| .github/plugin/marketplace.json | Registers dotnet-test in the GitHub marketplace list. |
| .claude-plugin/marketplace.json | Mirrors the marketplace registration for Claude marketplace list. |
💡 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.
Comment on lines
+104
to
+106
| ``` | ||
|
|
||
| Ensure the project references MSTest 3.2.0 or later. Recommend updating to the latest version. |
Comment on lines
+195
to
+200
| | `--blame` | Not applicable | | | ||
| | `--blame-crash` | `--crashdump` | Requires `Microsoft.Testing.Extensions.CrashDump` NuGet package | | ||
| | `--blame-crash-dump-type <TYPE>` | `--crashdump-type <TYPE>` | Requires CrashDump extension | | ||
| | `--blame-hang` | `--hangdump` | Requires `Microsoft.Testing.Extensions.HangDump` NuGet package | | ||
| | `--blame-hang-dump-type <TYPE>` | `--hangdump-type <TYPE>` | Requires HangDump extension | | ||
| | `--blame-hang-timeout <TIMESPAN>` | `--hangdump-timeout <TIMESPAN>` | Requires HangDump extension | |
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.
New migrate-vstest-to-mtp skill in the dotnet-test plugin covering:
Includes 10 eval scenarios with tiered timeouts (240-360s), 5 fixture directories, plugin.json, marketplace.json entries, CODEOWNERS, and README.md updates.