Uh oh!
There was an error while loading. Please reload this page.
revert: migrate to TUnit - #505
Conversation
This reverts commit 3e0dab6.
There was a problem hiding this comment.
Pull request overview
This PR reverts the migration from xUnit to TUnit (done in PR #223), because mutation testing does not yet work with Microsoft Testing Platform (MTP) mode that TUnit uses.
Changes:
- Replaces all TUnit test attributes (
[Test],[Arguments],[MethodDataSource]) with xUnit equivalents ([Fact],[Theory],[InlineData],[MemberData]) - Updates project files to swap TUnit dependencies for xUnit packages and adjusts build pipeline scripts accordingly
- Removes the custom
Recordhelper class and revertsUsings.csfiles across all test projects
Reviewed changes
Copilot reviewed 153 out of 165 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
Tests/Directory.Build.props | Swaps TUnit engine/dependencies for xUnit, coverlet, and test SDK packages |
Directory.Packages.props | Replaces TUnit and Polyfill package versions with xUnit and coverlet equivalents |
Pipeline/Build.UnitTest.cs | Updates test run arguments from MTP/TUnit style to xUnit/standard dotnet test style |
Pipeline/Build.MutationTests.cs | Removes --testrunner mtp flag, downgrades stryker, targets net8.0 instead of net10.0 |
Pipeline/Build.CodeCoverage.cs | Updates coverage report glob to match coverlet output path |
Pipeline/Build.ApiChecks.cs | Updates test run arguments to xUnit/standard style |
Tests/Mockolate.Tests/TestHelpers/Usings.cs | Swaps using TUnit for using Xunit |
Tests/Mockolate.Tests/TestHelpers/Record.cs | Removes TUnit-specific Record helper class |
All Tests/**/Usings.cs | Replaces TUnit global using with Xunit |
All test .cs files | Replaces [Test]/[Arguments]/[MethodDataSource] with [Fact]/[Theory]/[InlineData]/[MemberData] |
Tests/Mockolate.Tests/Internals/TypeFormatterTests.cs | Converts MethodDataSource + tuple IEnumerable to MemberData + TheoryData<T,T> |
Tests/Mockolate.Api.Tests/ApiApprovalTests.cs | Converts MethodDataSource + yield to MemberData + TheoryData<T> |
Tests/Mockolate.Api.Tests/ApiAcceptance.cs | Converts [Explicit] to [Fact(Explicit = true)] |
Tests/Mockolate.Api.Tests/Mockolate.Api.Tests.csproj | Targets net8.0, switches to xunit.v3 |
Tests/Mockolate.Tests/MockDelegates/DelegateTests.cs | Mixes aweXpect assertions with Assert.True/Assert.Equal |
Tests/Mockolate.Tests/Verify/VerificationResultTests.AsyncTests.cs | Adjusts timing thresholds for Within_ShouldAbortAsSoonAsConditionIsSatisfied |
Tests/Mockolate.Api.Tests/Helper.cs | Removes unused using Assembly alias |
Source/Mockolate/Mockolate.csproj | Unconditionally includes IsExternalInit package reference |
Tests/Mockolate.ExampleTests/Mockolate.ExampleTests.csproj | Adds IsExternalInit package reference |
Tests/Mockolate.Api.Tests/Expected/Mockolate_net10.0.txt | Removes [ParamCollection] attribute from API snapshot |
.github/workflows/ci.yml | Removes fail-fast: false from matrix strategy |
Mockolate.sln.DotSettings | Removes TUnit-specific ReSharper unit testing settings |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
🚀 Benchmark ResultsDetails
|
This is addressed in release v1.5.1. |



This reverts commit 3e0dab6 from #223, because Mutation testing not yet works with MTP mode