Repository navigation
Conversation
Move the xunit package reference out of tests/Directory.Build.props and into each test project so projects can migrate independently. UnitTests now uses xunit.v3; FunctionalTests and SpecificationTests stay on xunit 2.9.3 for now. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- Reference xunit.v3 instead of xunit 2.9.3 - IAsyncLifetime fixtures now return ValueTask - Custom Fact/Theory attributes set Skip in their constructor (Skip is no longer virtual) and pass through source information - Drop the Xunit.Abstractions usings (ITestOutputHelper now lives in Xunit) - Remove the Xunit.TestFramework assembly attribute; it named a type from an assembly that is not referenced anywhere - Suppress xUnit1051 for now (CancellationToken analyzer) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ent test SpecificationTests must stay on xunit v2 (the EF Core specification test bases are built against it), but its project reference to FunctionalTests pulled xunit.v3 in transitively and broke the build with ambiguous types. - Remove the FunctionalTests project reference - Copy the test-server utilities it needs (TestServer, TestContainersTestServer, ExternalDatabaseTestServer, TestDatabaseNamer, MongoCondition and the Atlas container builder) into SpecificationTests, using the xunit v2 signatures - Make Shadow_property_can_be_used_for_rowversion bypass the model cache so it no longer depends on test order, which xunit v3 changed Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Copilot review overview
Review effort: Balanced
Findings: None
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
ajcvickers
approved these changes
Oct 6, 2026
…ts sequentially on MongoDB 5.0/6.0 The xunit v3 migration decoupled SpecificationTests from FunctionalTests, and dotnet test on the solution now runs them concurrently against one server: - Give each assembly its own database name prefix that includes the EF version (EF<n>-FunctionalTest-, EF<n>-SpecTest-). Both assemblies previously generated identical names and their startup cleanup, which drops databases by prefix, dropped the other's live databases. - On MongoDB 5.0 and 6.0, overlapping writes intermittently fail with 'Unable to read from a snapshot due to pending collection catalog changes'. Run each test project in turn with sequential test collections on those servers only. This needs MONGODB_VERSION to be the matrix VERSION rather than the Evergreen version id. 7.0 and later keep the solution-level run. - Remove the assembly-level DisableTestParallelization from FunctionalTests. - Update AGENTS.md and the spec-conformance reviewer to match.
This branch has not been deployed
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.
Migrates UnitTests and FunctionalTests to xunit v3. SpecificationTests stays on xunit v2 because the EF Core specification test bases require it.
xunitreference moved fromtests/Directory.Build.propsinto each test project.xunit.v3in transitively). The few utilities it needs are copied intoSpecificationTests/Utilities/; they should move to a shared project later.ShadowPropertyTests.Shadow_property_can_be_used_for_rowversiondepended on test order (model cached per context type), which v3 exposed. It now bypasses the model cache.All tests pass on EF8, EF9 and EF10.