Repository navigation
CONFIG: Move The Test Projects To xunit 4 On The Microsoft Testing Platform - #229
Merged
morgang-adappt merged 1 commit intoOct 16, 2026
Merged
Conversation
There was a problem hiding this comment.
🟢 Approval recommended
No blocking issues were identified in the reviewed changes.
Pull request overview
Upgrades all four test projects to xUnit v4 and enables the Microsoft Testing Platform for .NET 10.
Changes:
- Updates test, analyzer, SDK, and runner packages.
- Configures Microsoft Testing Platform.
- Updates generated and checked-in CI test commands.
File summaries
| File | Summary |
|---|---|
NEL.MESH.Tests.Unit/NEL.MESH.Tests.Unit.csproj |
Upgrades testing dependencies |
NEL.MESH.Tests.Integration/NEL.MESH.Tests.Integration.csproj |
Upgrades testing dependencies |
NEL.MESH.Tests.Integration.Witness/NEL.MESH.Tests.Integration.Witness.csproj |
Upgrades testing dependencies |
NEL.MESH.Tests.Acceptance/NEL.MESH.Tests.Acceptance.csproj |
Upgrades testing dependencies |
NEL.MESH.Infrastructure/Services/ScriptGenerationService.cs |
Generates updated MTP test commands |
global.json |
Enables Microsoft Testing Platform |
.github/workflows/build.yml |
Runs tests with the updated runner |
Review details
- Files reviewed: 7/7 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…atform Moves all four test projects to xunit.v3 4.0.2 with xunit.runner.visualstudio 4.0.1 and Microsoft.NET.Test.Sdk 18.11.0, and opts the repo into the Microsoft Testing Platform through global.json. The runner 4.x line no longer supports VSTest on the .NET 10 SDK, so the package move and the global.json switch are coupled: neither builds nor runs tests on its own. xunit.analyzers goes to 2.2.0 rather than the 2.0.0 Dependabot offers, because xunit.v3 4.0.2 depends on at least 2.2.0 and an explicit lower reference fails restore with NU1605. Also brings the Microsoft.Extensions family to 10.0.13 as one coupled set. FluentAssertions stays locked at [7.2.2]. The build workflow now runs tests in the Microsoft Testing Platform form. The platform needs --project to name a single test project, so the unit and acceptance steps use it, and --ignore-exit-code 8 treats "zero tests ran" as a pass where VSTest only warned; a real failure still exits 2. NEL.MESH.Tests.Integration.Witness has no tests and is the reason the flag is needed, though the workflow does not run it. The workflow was regenerated from the Infrastructure generator, not hand-edited, and running the generator twice produces identical files. Tests: 292 unit, 10 acceptance and 8 integration all passing.
perirrs
force-pushed
the
users/perirrs/CONFIG-xunit-4-testing-platform
branch
from
October 15, 2026 11:55
57cc2bd to
5c44736
Compare
morgang-adappt
approved these changes
Oct 16, 2026
morgang-adappt
deleted the
users/perirrs/CONFIG-xunit-4-testing-platform
branch
October 16, 2026 12:11
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.

Moves all four test projects to xunit.v3 4.0.0 and xunit.runner.visualstudio 4.0.0, as agreed with Christo: upgrade as we go so there is no big gap at the .NET 11 move in November. Follows LondonDataServices.FHIR PR #183.
What changes
global.jsonoptsdotnet testinto the Microsoft Testing Platform runner. xunit 4 no longer supports VSTest on the .NET 10 SDK.--projectform and--ignore-exit-code 8. The platform needs--projectto name a single project, and returns 8 when a project has no tests where VSTest only warned. Changed in the generator (ScriptGenerationService) and regenerated.Tests
Restore, build (0 errors, same 134 warnings as main) and both workflow test steps run locally in the same shape as the workflow: Unit 292 passed, Acceptance 10 passed, the same counts as on main. The two integration projects still need a live MESH mailbox and stay out of CI; both still compile on xunit 4.
Commits
One CONFIG commit for the packages and
global.json(coupled: neither builds and tests alone), one CODE RUB commit for the workflow.Closes AB#30030.