NXTest.Generators
0.1.0
See the version list below for details.
dotnet add package NXTest.Generators --version 0.1.0
NuGet\Install-Package NXTest.Generators -Version 0.1.0
<PackageReference Include="NXTest.Generators" Version="0.1.0" />
<PackageVersion Include="NXTest.Generators" Version="0.1.0" />
<PackageReference Include="NXTest.Generators" />
paket add NXTest.Generators --version 0.1.0
#r "nuget: NXTest.Generators, 0.1.0"
#:package NXTest.Generators@0.1.0
#addin nuget:?package=NXTest.Generators&version=0.1.0
#tool nuget:?package=NXTest.Generators&version=0.1.0
NXTest - Source-Generated Unit Testing Framework
A modern, source-generated replacement for xUnit that provides compile-time test discovery and simple functionality.
Overview
NXTest leverages C# source generators to create a small, simple testing framework that eliminates runtime reflection and provides compile-time test validation. It aims to be an easy, drop-in replacement for the core of xUnit rather than a large, feature-rich framework.
Key Features
- Source-Generated Test Discovery: Tests are discovered at compile time, eliminating runtime reflection overhead
- Compile-Time Validation: Test method signatures and attributes are validated during compilation
- Rich Assertion Library: Uses
xunit.assertfor compatibility and comprehensive assertion capabilities - Parameterized Tests: Full support for data-driven tests with source generators
Documentation
- Design Document - High-level architecture and design decisions
- Specification - Detailed API and behavior specifications
- Data Model - Internal data structures and models
- Getting Started - Quick start guide
Project Structure
├── src/
│ ├── NXTest.Core/ # Core framework types and attributes
│ ├── NXTest.Generators/ # Source generators
│ └── NXTest.Runtime/ # Test runner and execution engine
├── test/
│ ├── Assets/ # Compatibility assets (NXTestCompat, XUnitCompat, shared)
│ ├── NXTest.CompatibilityTests/
│ ├── NXTest.Generators.Tests/
│ └── NXTest.Runtime.Tests/
└── docs/ # Documentation
Quick Example
using Xunit;
public class CalculatorTests
{
[Fact]
public void Add_TwoNumbers_ReturnsSum()
{
var calculator = new Calculator();
var result = calculator.Add(2, 3);
Assert.Equal(5, result);
}
[Theory]
[InlineData(1, 2, 3)]
[InlineData(5, 7, 12)]
[InlineData(-1, 1, 0)]
public void Add_VariousInputs_ReturnsExpectedSum(int a, int b, int expected)
{
var calculator = new Calculator();
var result = calculator.Add(a, b);
Assert.Equal(expected, result);
}
}
License
MIT License - see LICENSE for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- StaticCS.IndentingBuilder (>= 0.3.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on NXTest.Generators:
| Package | Downloads |
|---|---|
|
NXTest
Meta-package that pulls in all NXTest packages (Core, Runtime, and source generators) for a complete testing framework experience. |
GitHub repositories
This package is not used by any popular GitHub repositories.