Compatibility

What TestDetta needs, and what it has been tested with. Anything outside these tables is not necessarily unsupported, but it has not been tested end to end.

Requirements

ItemRequirement
.NET SDKThe .NET 10 SDK runs TestDetta itself. Your tests keep the SDK and runner your repository already uses.
Git historyThe full history of your branch and its target branch, so the merge base can be found. Shallow clones cannot work.
Operating systemLinux and macOS, x64 and arm64. Windows has not been tested yet.

Test frameworks and runners

Both runners of dotnet test work. The runner is read from global.json, as dotnet test reads it. These combinations are tested end to end, recording included, also with each framework's own parallelization turned on:

FrameworkVSTestMicrosoft.Testing.Platform
xUnit v2Tested–
xUnit v3–Tested (required for xUnit v3 on the .NET 10 SDK)
NUnitTestedTested; add Microsoft.Testing.Extensions.TrxReport so failed tests are known while recording
MSTestTestedTested
TUnit–Tested

Test projects in the evaluation corpus target .NET 8 to .NET 10. .NET Framework test projects are not part of it.

Languages

LanguageHow changes are handled
C#Analysed down to members: syntax trees, coverage maps and name tracing.
F#, Visual BasicPart of the project graph, but not analysed: when one of these projects is affected, everything that depends on it runs completely.

CI systems

Every CI needs the same three things: the full history, the target branch fetched, and a place to keep coverage maps between the default branch and pull requests.

CISetupWhere maps are keptSummary
GitHub ActionsThe action, two stepsThe Actions cache, one entry per commitJob summary, written for you
GitLab CIThe td tool, td record and td testA shared folder or object storage, through --maps-dir--summary-file writes Markdown for any CI that shows it
Jenkins
Azure DevOps
Bitbucket Pipelines