Enable the Microsoft Testing Platform runner for a .NET solution by configuring global.json.
The Microsoft Testing Platform is a modern, extensible test runner that provides improved performance, better diagnostics, and native support for parallel test execution.
Steps
- •
Find the solution file (*.sln) in the current directory
- •If no .sln found, warn and stop
- •
Check for existing global.json in the solution root directory
- •Read contents if file exists
- •
Create or update global.json:
- •If file does not exist, create it:
json
{ "test": { "runner": "Microsoft.Testing.Platform" } } - •If file exists, merge the
testsection while preserving all other content:- •Parse existing JSON
- •Add or update the
test.runnerproperty - •Preserve
sdk,msbuild-sdks, and any other existing sections
- •If file does not exist, create it:
- •
Verify JSON validity:
bashdotnet build dotnet test
- •
If build fails, report the error and ask user how to proceed
- •
Report results:
- •Confirm global.json was created or updated
- •Show the final global.json content
- •Confirm build status
- •Confirm tests run successfully
Example global.json Configurations
Minimal (new file):
json
{
"test": {
"runner": "Microsoft.Testing.Platform"
}
}
Merged (existing file with SDK pinning):
json
{
"sdk": {
"version": "8.0.100",
"rollForward": "latestMinor"
},
"test": {
"runner": "Microsoft.Testing.Platform"
}
}
Error Handling
- •If no .sln found: warn and stop
- •If global.json exists but is invalid JSON: report error and ask user
- •If build fails after update: show errors and ask user how to proceed