Compatibility Matrix¶
This page states the current shipped compatibility only.
Package Matrix¶
| Package | Target frameworks | xUnit | NUnit | MSTest | Prerequisites | Notes |
|---|---|---|---|---|---|---|
Axiom.Assertions |
net8.0, net9.0, net10.0 |
Yes | Yes | Yes | None | Main fluent assertion package. Pulls in Axiom.Core and bundles the Axiom analyzers/code fixes. |
Axiom.Json |
net8.0, net9.0, net10.0 |
Yes | Yes | Yes | Axiom.Assertions |
Optional JSON assertions over raw JSON string, JsonDocument, and JsonElement. |
Axiom.Http |
net8.0, net9.0, net10.0 |
Yes | Yes | Yes | Axiom.Assertions, Axiom.Json |
Optional HttpResponseMessage assertions. Reuses Axiom.Json for JSON body assertions. |
Axiom.Vectors |
net8.0, net9.0, net10.0 |
Yes | Yes | Yes | Axiom.Assertions |
Optional vector, embedding, and ranked retrieval assertions. |
Axiom.Core |
net8.0, net9.0, net10.0 |
N/A | N/A | N/A | None | Low-level batching, formatting, failure, and configuration primitives. No test-framework-specific integration. |
Axiom.Analyzers |
netstandard2.0 analyzer package |
Yes | Yes | Yes | None | Roslyn analyzer/code-fix package. Framework columns here refer to current analyzer and migration support, not runtime assertions. |
Notes¶
- For
Axiom.Assertions,Axiom.Json,Axiom.Http, andAxiom.Vectors, xUnit, NUnit, and MSTest support means Axiom can run inside test projects using those frameworks. Axiom.Assertionsauto-detects xUnit, NUnit, and MSTest at runtime and uses the matching framework-native assertion exception type when one of those frameworks is present.Axiom.Coreis framework-agnostic infrastructure. It does not provide framework-specific assertion behavior by itself.Axiom.Analyzersis not a runtime assertion package. It provides Axiom diagnostics plus current migration/code-fix coverage for framework-native asserts and a narrow set of assertion-library chains.Axiom.Assertionsis the default install path for most users. InstallAxiom.Json,Axiom.Http, orAxiom.Vectorsonly when the test suite needs those assertion areas.
Starter Projects¶
The repository includes minimal starter projects for the supported test frameworks:
| Framework | Starter |
|---|---|
| xUnit | Axiom.Assertions.Starter.Xunit |
| NUnit | Axiom.Assertions.Starter.NUnit |
| MSTest | Axiom.Assertions.Starter.MSTest |
Each starter uses the normal Axiom.Assertions install path and keeps the example intentionally small.
Analyzer Migration Coverage¶
The current migration analyzers split into two migration categories.
Framework-assert migrations replace assertions from the test framework itself:
- xUnit: scalar, string, dictionary-key, single-item, synchronous exception, and awaited async exception shapes.
- NUnit: common
Is.*,Does.*,Has.Count.EqualTo(...), ordered/range/type, and async exception shapes. - MSTest: scalar, reference/type, string, collection containment, ordered/range, and awaited async exception shapes.
Assertion-library migrations replace another assertion library where the mapping is direct:
- FluentAssertions: direct, standalone equality, null, boolean, empty, string, reference identity, exact type, and assignable type chains.
- Shouldly: mostly manual today.
Unsupported or lossy framework-specific overloads and richer assertion-library chains remain manual migrations.
For rollout guidance, start with Migrating to Axiom, then use the framework walkthroughs or side-by-side library guides linked from there.