Skip to content

chore(deps): bump xunit.v3 family to 4.0.0 and migrate tests to Microsoft Testing Platform - #26

Merged
AdCodicem merged 1 commit into
mainfrom
chore/xunit-v3-4.0.0
Sep 10, 2026
Merged

AdCodicem merged 1 commit into
mainfrom
chore/xunit-v3-4.0.0

Conversation

@AdCodicem

Copy link
Copy Markdown
Owner

Summary

Dependabot opened four PRs that all touch the xunit.v3 package family, and all four are individually broken because xunit.v3 pins its sub-packages (xunit.v3.core, xunit.v3.common, ...) to an exact version:

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 test target (dotnet test failed outright with restore/build otherwise green). So this PR also:

  • Opts global.json into MTP's native dotnet test mode (test.runner: Microsoft.Testing.Platform)
  • Replaces coverlet.collector + the VSTest --logger/--collect CI flags with Microsoft.Testing.Extensions.TrxReport + Microsoft.Testing.Extensions.CodeCoverage and --report-trx/--coverage
  • Updates the single-test filter documented in CLAUDE.md from 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 warnings
  • dotnet test --project tests/AdCodicem.ValueObjects.UnitTests (MTP mode, with --report-trx --coverage) — 338/338 passed, trx + cobertura produced
  • dotnet test --project tests/AdCodicem.ValueObjects.GeneratorTests — 80/80 passed
  • dotnet 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
  • Verified --filter-method "*Name*" reproduces the old FullyQualifiedName~Name single-test filter behavior
  • CI (will confirm once this run completes)

Closes #21, #23, #24, #25

🤖 Generated with Claude Code

…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>
@AdCodicem

Copy link
Copy Markdown
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).

@AdCodicem
AdCodicem merged commit 74f09e9 into main Sep 10, 2026
9 checks passed
@AdCodicem
AdCodicem deleted the chore/xunit-v3-4.0.0 branch September 10, 2026 11:20
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant