Take Aspire 13.5.0, hold xunit.v3 at 3.x, move dotnet test to MTP mode - #23
Closed
KaliCZ wants to merge 1 commit into
Closed
Take Aspire 13.5.0, hold xunit.v3 at 3.x, move dotnet test to MTP mode#23KaliCZ wants to merge 1 commit into
KaliCZ wants to merge 1 commit into
Conversation
Splits PR #22 (grouped nuget bump) into the part that works and the part that can't land yet. Aspire 13.5.0 builds clean — none of the 13.5 breaking changes touch the AppHost. xunit.v3 4.0.0 is not adoptable: FsCheck.Xunit.v3 3.3.4 (the newest release) is built against xunit.v3.extensibility.core 3.0.1, and xunit.v3 4.0.0 changed TestIntrospectionHelper.GetTestCaseDetails, so every [Property] test dies with a MissingMethodException during discovery. Held via a dependabot ignore until FsCheck ships a 4.x build. xunit.v3 4.x also pulls Microsoft.Testing.Platform 2.x, which dropped the VSTest bridge on the .NET 10 SDK — the actual CI error. That half is not blocked, so migrate now: global.json's test.runner is the replacement opt-in, and TestingPlatformDotnetTestSupport is obsolete under it. Works with xunit.v3 3.2.2 today and unblocks 4.x whenever FsCheck catches up. Co-Authored-By: Claude Opus 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.
Replaces #22, which can't go green as-is.
Why #22 fails
The build actually succeeds — it's
dotnet testthat fails:Two separate problems hide behind that, and only one of them is fixable today.
xunit.v3 4.0.0 is not adoptable — held
FsCheck.Xunit.v33.3.4 (the newest release, Jul 2026) is built againstxunit.v3.extensibility.core3.0.1. xunit.v3 4.0.0 changed the signature ofTestIntrospectionHelper.GetTestCaseDetails, so with 4.0.0 in place every[Property]test dies during discovery:8 of 13 unit tests fail. It's a runtime binding break, so there's nothing to fix on
our side — it needs a FsCheck release built against xunit.v3 4.x. Added a dependabot
ignorefor the major, same shape as the existingtypescripthold.The MTP migration isn't blocked — done
xunit.v3 4.x pulls Microsoft.Testing.Platform 2.x, which removed the VSTest bridge on
the .NET 10 SDK. That's the error above, and it's independent of the FsCheck problem,
so it's migrated now rather than left to rediscover later:
global.jsongainstest.runner: Microsoft.Testing.Platform— the replacement opt-inTestingPlatformDotnetTestSupportdropped from both test projects; it's obsolete under MTP modeThis works with xunit.v3 3.2.2 today and means the only thing standing between us and
xunit.v3 4.x is FsCheck.
Aspire 13.5.0 — taken
Builds clean, 0 warnings (and
TreatWarningsAsErrorsis on, so no obsolete-APIwarnings either). None of the 13.5 breaking changes touch the AppHost.
Verification
dotnet build ProductReviews.slnx --no-restore -c Release→ 0 warnings, 0 errors.dotnet test --no-build -c Release→ 43/43 passing, both projects, integration testsagainst real Postgres via Testcontainers. Bare
dotnet teststill discovers the.slnxin MTP mode, so no CI or docs command changes.🤖 Generated with Claude Code