chore(deps): update xUnit.net v3 to 4.0
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 48/100
- Type d'issue
- Refactorisation
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- csharp, github-actions
- Domaine
- build-system, testing
Piste de recherche
Start with root Directory.Packages.props, tests/Directory.Build.props, and .github/workflows/build-library.yml; check the xUnit 4 migration notes and the test runner configuration. Search for the listed ordering and parallelism APIs, then run dotnet restore, dotnet build, and dotnet test. Done means CI and coverage work, all tests remain discovered, and the deferred MTP migration has a follow-up issue.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Part 5 of the outdated-package sweep (dotnet-outdated 4.8.1, 2026-11-05). Major upgrade of the xUnit.net v3 framework.
Current state
Root Directory.Packages.props:
xunit.v33.2.2,xunit.v3.core3.2.2,xunit.v3.assert3.2.2 -> 4.0.2xunit.runner.visualstudio3.1.5 -> 4.0.1
tests/Directory.Build.props: test projects are OutputType=Exe, reference Microsoft.NET.Test.Sdk, xunit.v3, XUnit.Combinatorial, and xunit.runner.visualstudio; dotnet test runs via the VSTest host with coverlet / XPlat Code Coverage. xunit.v3.core and xunit.v3.assert are referenced by CommunityToolkit.Datasync.TestCommon.
Key breaking changes in 4.0.0 (https://xunit.net/releases/v3/4.0.0)
- Microsoft Testing Platform v1 support dropped; MTP v2 is now the default. If CI/
dotnet testprints "Testing with VSTest target is no longer supported by Microsoft.Testing.Platform on .NET 10 SDK and later", the repo's test runner config must be updated (see https://xunit.net/docs/getting-started/v3/microsoft-testing-platform and the "Testing with 'dotnet test'" doc). Two options: (a) stay on VSTest by using thexunit.v3.*.mtp-offpackage variants (e.g.xunit.v3.mtp-offinstead ofxunit.v3), or (b) move to MTP v2 andglobal.jsontest.runnersettings. Prefer (a) first (smallest change; keeps coverlet/XPlat coverage and current CI commands), and file a follow-up issue for MTP migration. - Reporting switches renamed for MTP (
-report-xunit->-report-xunit-xml, etc.) and CTRF format changed. Check.github/workflows/build-library.ymland any scripts for use of these flags. - New class/method test orderers; test case ordering semantics changed. Search the tests for
ITestCaseOrderer,TestCaseOrderer,CollectionBehavior,DisableTestParallelization,MaxParallelThreads. - Parallelism attributes:
[assembly: CollectionBehavior]options for parallelism are obsolete/uncallable; use[assembly: Parallelization]. Checkxunit.runner.json/testconfig.jsontoo. - Mono unsupported (not relevant).
XUnit.Combinatorial2.x works with 4.x (depends onxunit.v3.extensibility.core>= 1.0.0); confirm after the "update test tooling" PR.
Steps
- Create the branch. Bump all four packages in lockstep (versions must exist: check NuGet; use latest 4.0.x).
- Choose option (a) above; fix compile errors (extensibility/orderer/parallelism APIs).
dotnet restore && dotnet build && dotnet test. Compare total/passed/skipped test counts againstmainbefore the change to prove no tests were silently dropped or not discovered.- Verify the CI test summary + coverage output still work (
TestResults/SummaryGithub.md, coverage upload) in.github/workflows/build-library.yml. - Dispatch
build-library.ymlon the fork with--ref <branch>. - Check
CONTRIBUTING.md/docs for test-run instructions that need updating.
Acceptance criteria
- xunit.v3 packages at 4.0.x and runner at 4.0.1; no test loss (document counts in the PR); CI green with coverage.
- If MTP migration is deferred, a follow-up issue exists.
- PR title:
chore(deps): update xUnit.net v3 to 4.0.
- Langage dominant
- C#
- Étoiles
- 184
- Forks
- 48
- Merge moyen
- 21 min
- PR mergées (30 j)
- 7
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de CommunityToolkit/Datasync
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
CommunityToolkit/Datasync#600 · 1 commentaire ·
-
Blocked dependencies Server
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
CommunityToolkit/Datasync#594 ·
-
dependencies Examples
Difficulté 4/5 3-5 jours Accessibilité débutants 40/100
CommunityToolkit/Datasync#593 ·
-
dependencies Infrastructure
Difficulté 3/5 1-2 jours Accessibilité débutants 72/100
CommunityToolkit/Datasync#592 ·
-
dependencies Infrastructure
Difficulté 2/5 1-3 heures Accessibilité débutants 55/100
CommunityToolkit/Datasync#590 ·
Toutes les issues de CommunityToolkit/Datasync
Issues similaires
-
Bug: Needs Replicating
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
space-wizards/RobustToolbox#7189 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement needs-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
microsoft/microsoft-ui-reactor#1460 ·
Les mainteneurs répondent en général sous 1 jour
-
t/bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
dotnet/maui#39950 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
The server's default HttpClient fails on plain http and on HTTPS servers without HTTP/2Peut-être pris @yasmoradi l’a pris aujourd’hui. Ouvertearea / templates
Difficulté 2/5 1-3 heures Accessibilité débutants 73/100
bitfoundation/bitplatform#14659 ·
Les mainteneurs répondent en général sous 1 jour
-
DbTransaction.SupportsSavepoints docs say Release/ReleaseAsync are expected to throw, but they are no-ops by designPeut-être pris @alaricd l’a pris aujourd’hui. Ouvertearea-System.Transactions untriaged
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
dotnet/runtime#137040 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour