chore(deps): bump xunit.v3 family to 4.0.0 and migrate tests to Microsoft Testing Platform - #26
Merged
Merged
Conversation
…soft Testing Platform xunit.v3 pins its sub-packages (xunit.v3.core, xunit.v3.common, ...) to an exact version, so xunit.v3.assert and xunit.v3.extensibility.core could not be bumped independently (see PRs #24, #25) without also bumping xunit.v3 itself, which Dependabot's grouped minor/patch update (#21) also did not do. Moves the whole family to 4.0.0 in lockstep, superseding #21, #23, #24 and #25. xunit.v3 4.0.0 defaults to Microsoft Testing Platform v2, which the .NET 10 SDK no longer runs through the classic VSTest `dotnet test` target. Opts global.json into MTP's native `dotnet test` mode, swaps coverlet.collector and the VSTest --logger/--collect flags for Microsoft.Testing.Extensions.TrxReport and Microsoft.Testing.Extensions.CodeCoverage with --report-trx/--coverage, and updates the documented single-test filter to xunit.v3's --filter-method syntax. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This was referenced Sep 10, 2026
Owner
Author
|
Ran integration tests locally with Docker Desktop now available: 34/34 passed against real PostgreSQL and SQL Server via Testcontainers. All three suites now verified locally (338 + 80 + 34 = 452 tests, all green). |
This was referenced Sep 10, 2026
AdCodicem
added a commit
that referenced
this pull request
Sep 10, 2026
….Reference.Assemblies.Net100 and BenchmarkDotNet (#27) The remaining minor/patch bumps from #21's grouped update, with the xunit.v3 family lines dropped since #26 already moved them to 4.0.0 in lockstep — #21 would have reverted them to the 3.2.x line. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
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
Dependabot opened four PRs that all touch the xunit.v3 package family, and all four are individually broken because
xunit.v3pins its sub-packages (xunit.v3.core,xunit.v3.common, ...) to an exact version:xunit.v3.assert/xunit.v3.extensibility.coreto 3.2.2 andxunit.runner.visualstudioto 3.1.5, but never touchesxunit.v3itself →NU1608/NU1107at restore.xunit.v3.assert/xunit.v3.extensibility.coreindividually to 4.0.0, same lockstep problem.xunit.runner.visualstudioalone to 4.0.0 (not lockstep-constrained, so it's green), but pairing a 4.0.0 runner with a 3.1.0 core is untested territory per the 4.0.0 release notes ("aligned with core framework parallelization changes").This PR bumps the whole family —
xunit.v3,xunit.v3.assert,xunit.v3.extensibility.core,xunit.runner.visualstudio— to 4.0.0 together, closing #21, #23, #24 and #25 as superseded.Taking the 4.0.0 major line also pulls in Microsoft Testing Platform v2 as the default, and the .NET 10 SDK no longer runs MTP test projects through the classic VSTest
dotnet testtarget (dotnet testfailed outright with restore/build otherwise green). So this PR also:global.jsoninto MTP's nativedotnet testmode (test.runner: Microsoft.Testing.Platform)coverlet.collector+ the VSTest--logger/--collectCI flags withMicrosoft.Testing.Extensions.TrxReport+Microsoft.Testing.Extensions.CodeCoverageand--report-trx/--coverageCLAUDE.mdfrom VSTest's--filter "FullyQualifiedName~X"to xunit.v3's--filter-method "*X*"Checked the repo against the actual breaking-change surface of xunit v3 4.0.0 (parallelization attribute renames, extensibility interface changes, custom orderers) — no matches, so no source changes needed there.
Test plan
dotnet build -c Release— clean, 0 warningsdotnet test --project tests/AdCodicem.ValueObjects.UnitTests(MTP mode, with--report-trx --coverage) — 338/338 passed, trx + cobertura produceddotnet test --project tests/AdCodicem.ValueObjects.GeneratorTests— 80/80 passeddotnet test --project tests/AdCodicem.ValueObjects.IntegrationTests— MTP harness discovers and runs all 34 tests correctly (local run failed on Docker named-pipe connectivity in this dev environment, unrelated to this change; CI's Ubuntu runner has Docker natively available)dotnet pack --no-restore -c Release -o artifacts/packages— all packages built--filter-method "*Name*"reproduces the oldFullyQualifiedName~Namesingle-test filter behaviorCloses #21, #23, #24, #25
🤖 Generated with Claude Code