QuickFuzzr 0.1.9

dotnet add package QuickFuzzr --version 0.1.9
                    
NuGet\Install-Package QuickFuzzr -Version 0.1.9
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="QuickFuzzr" Version="0.1.9" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="QuickFuzzr" Version="0.1.9" />
                    
Directory.Packages.props
<PackageReference Include="QuickFuzzr" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add QuickFuzzr --version 0.1.9
                    
#r "nuget: QuickFuzzr, 0.1.9"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package QuickFuzzr@0.1.9
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=QuickFuzzr&version=0.1.9
                    
Install as a Cake Addin
#tool nuget:?package=QuickFuzzr&version=0.1.9
                    
Install as a Cake Tool

<img src='icon.png' width='40' align='top'/> QuickFuzzr

A type-walking cheetah with a hand full of random.

Generate realistic test data and fuzz your domain models using composable LINQ expressions.

Docs NuGet License: MIT

Examples

It Just Works

Fuzzr.One<Person>().Generate();
// Results in => Person { Name = "ddnegsn", Age = 18 }

Configurable

var fuzzr =
    // Generate complete customer with orders and payments
    from counter in Fuzzr.Counter("my-key") // <= keyed auto incrementing int
    from customer in Fuzzr.One(() => new Customer($"Customer-{counter}"))
    from orders in Fuzzr.One<Order>()
        .Apply(customer.PlaceOrder) // <= add order to customer
        .Many(1, 3) // <= add between 1 and 3 random orders
    from payment in Fuzzr.One<Payment>()
        .Apply(p => p.Amount = orders.Sum(o => o.Total)) // <= calculate total from orders
        .Apply(customer.MakePayment) // <= add payment to customer
    select customer;
fuzzr.Many(2).Generate();

Output:

[
    Customer {
        Name: "Customer-1",
        Orders: [ Order { Total: 42.72 }, Order { Total: 67.24 } ],
        Payments: [ Payment { Amount: 109.96 } ]
    },
    Customer {
        Name: "Customer-2",
        Orders: [ Order { Total: 10.50 }, Order { Total: 14.66 }, Order { Total: 60.86 } ],
        Payments: [ Payment { Amount: 86.02 } ]
    }
]

Highlights

  • Zero-config generation: Fuzzr.One<T>() works out of the box.
  • LINQ-composable: Build complex fuzzrs from simple parts.
  • Configurable defaults: Fine-tune generation with Configr.
  • Recursive object graphs: Automatic depth-controlled nesting.
  • Seed-based reproducibility: Deterministic results for reliable tests.
  • Built for Devs: Clean LINQ workflows and Elm-style errors that guide you to the fix.

Installation

QuickFuzzr is available on NuGet:

Install-Package QuickFuzzr

Or via the .NET CLI:

dotnet add package QuickFuzzr

Documentation

QuickFuzzr is fully documented, with real, executable examples for every feature, and every statement in the docs is backed by a test.

You can explore it here:

Roadmap

  • Add a 'When Things Go Wrong' chapter to reference.
  • Benchmarks: Only believe the measured hype.
  • Add the missing Primitives: DateTimeOffset, NInt, NUint, ...
  • Expand the Cookbook with more real-world recipes
  • QuickFuzzr.Reactor: Convention-based generation and reusable patterns.
  • QuickFuzzr.Evil: For all your property-based testing needs.

License

This project is licensed under the MIT License.

Addendum

The How and Why of QuickFuzzr: From Kitten to Cheetah.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on QuickFuzzr:

Package Downloads
QuickCheckr

CSI: .NET, Property-based testing for the pragmatic.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.9 494 3/21/2026
0.1.8 297 12/28/2025
0.1.7 853 11/18/2025
0.1.6 271 11/16/2025
0.1.5 310 11/13/2025
0.1.4 311 11/12/2025
0.1.3 262 11/6/2025
0.1.2 227 11/5/2025
0.1.1 307 8/6/2025
0.1.0 290 7/19/2025