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
| Item | Requirement |
|---|---|
| .NET SDK | The .NET 10 SDK runs TestDetta itself. Your tests keep the SDK and runner your repository already uses. |
| Git history | The full history of your branch and its target branch, so the merge base can be found. Shallow clones cannot work. |
| Operating system | Linux 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:
| Framework | VSTest | Microsoft.Testing.Platform |
|---|---|---|
| xUnit v2 | Tested | – |
| xUnit v3 | – | Tested (required for xUnit v3 on the .NET 10 SDK) |
| NUnit | Tested | Tested; add Microsoft.Testing.Extensions.TrxReport so failed tests are known while recording |
| MSTest | Tested | Tested |
| TUnit | – | Tested |
Test projects in the evaluation corpus target .NET 8 to .NET 10. .NET Framework test projects are not part of it.
Languages
| Language | How changes are handled |
|---|---|
| C# | Analysed down to members: syntax trees, coverage maps and name tracing. |
| F#, Visual Basic | Part 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.
| CI | Setup | Where maps are kept | Summary |
|---|---|---|---|
| GitHub Actions | The action, two steps | The Actions cache, one entry per commit | Job summary, written for you |
| GitLab CI | The td tool, td record and td test | A shared folder or object storage, through --maps-dir | --summary-file writes Markdown for any CI that shows it |
| Jenkins | |||
| Azure DevOps | |||
| Bitbucket Pipelines |