CsabaDu.DynamicTestData.NUnit 2.0.0-beta

This is a prerelease version of CsabaDu.DynamicTestData.NUnit.
dotnet add package CsabaDu.DynamicTestData.NUnit --version 2.0.0-beta
                    
NuGet\Install-Package CsabaDu.DynamicTestData.NUnit -Version 2.0.0-beta
                    
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="CsabaDu.DynamicTestData.NUnit" Version="2.0.0-beta" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CsabaDu.DynamicTestData.NUnit" Version="2.0.0-beta" />
                    
Directory.Packages.props
<PackageReference Include="CsabaDu.DynamicTestData.NUnit" />
                    
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 CsabaDu.DynamicTestData.NUnit --version 2.0.0-beta
                    
#r "nuget: CsabaDu.DynamicTestData.NUnit, 2.0.0-beta"
                    
#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 CsabaDu.DynamicTestData.NUnit@2.0.0-beta
                    
#: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=CsabaDu.DynamicTestData.NUnit&version=2.0.0-beta&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=CsabaDu.DynamicTestData.NUnit&version=2.0.0-beta&prerelease
                    
Install as a Cake Tool

CsabaDu.DynamicTestData.NUnit

🎯 An extension of CsabaDu.DynamicTestData framework to facilitate dynamic data-driven testing in NUnit.

  • ⚙️ Test data conversion, management and provisioning
  • ⛑️ Type-safe and thread-safe support for NUnit
  • 🧩 Modular design, abstractions and ready-to-use integrations
  • 💼 Portable data sources
  • 📋 Traceable descriptive display names
  • 💵 Now seeking sponsors to complete v2.0 – comprehensive testing, documentation, examples, and new features!

Sponsor this project Buy me a coffee Support Me a Ko-fi OpenCollective


Documentation

This README and the dedicated Wiki for the CsabaDu.DynamicTestData.NUnit extension are currently under development. While full documentation is in progress, you can already find essential information and usage guidance.

To learn more about the core framework, visit the CsabaDu.DynamicTestData package on NuGet and explore its main Wiki.

For an overview of this NUnit-specific extension—including its purpose, integration points, and sample usage—see the Extensibility & Ready-to-Use Implementations section.


Version 2.0.0-beta Foreword

The CsabaDu.DynamicTestData framework has undergone a major transformation in version 2.0.0-beta, introducing a wide range of enhancements while preserving its original foundation.

The core components from the 1.x.x series — particularly the TestDataTypes.* namespaces and the DynamicDataSource class — remain central to the framework. However, even these familiar types have received small but breaking changes to align with the new architecture.

This release introduces powerful new capabilities:

  • Test data conversion to any type of test data row
  • Data row management for structured and reusable test inputs
  • Flexible data provisioning to test methods across frameworks

These features make the framework easier to use, more adaptable to diverse testing needs, and better suited for integration with MSTest, NUnit, xUnit, and beyond. The newly introduced interfaces and abstract classes are designed for extensibility, allowing developers to support custom types and framework-specific features while staying aligned with the CsabaDu.DynamicTestData ecosystem.

The architecture is clean, the codebase is modular, and many features have been partially tested. The documentation provides detailed insights into the design, types, and usage patterns. However, this version is still considered beta due to:

  • Incomplete test coverage
  • Missing documentation sections (e.g., migration guide from v1.x.x)

Final Notes

This version is beta, meaning:

  • Features are stable but may change
  • Some features are only partially tested
  • Documentation is detailed, but incomplete
  • Feedback and support is highly appreciated

Changelog

Version 2.0.0-beta (2025-09-01)

This is a beta release introducing breaking changes, new features, and architectural enhancements to the CsabaDu.DynamicTestData.NUnit library. These updates improve usability, flexibility, and extensibility.

  • Cancelled:
    • DynamicDataSources namespace:
      • DynamicTestCaseDataSource abstract class
  • Changed:
    • Statics namespace:
      • Extensions static class
  • Added:
    • TestDataTypes namespace:
      • TestCaseTestData abstract class
      • TestCaseTestData<TTestData> sealed class
    • TestDataRows namespace:
      • TestCaseDataRow<TTestData> class
      • TestCaseTestDataRow<TTestData> class
    • DataRowHolders namespace:
      • TestCaseDataRowHolder<TTestData> class
      • TestCaseTestDataRowHolder<TTestData> class
    • DynamicDataSources namespace:
      • DynamicTestCaseDataRowSource abstract class
      • DynamicTestCaseTestDataRowSource abstract class

Version 1.0.0 (2025-03-13)

  • Initial release of the CsabaDu.DynamicTestData.NUnit framework, which is a child of CsabaDu.DynamicTestData framework.
  • Includes the DynamicTestCaseDataSource base class.
  • Provides support for dynamic data-driven tests with TestCaseData arguments having different data, expected struct results, and exceptions, on top of the inherited CsabaDu.DynamicTestData features.

Version 1.1.0 (2025-03-30)

  • Added: OptionalToTestCaseData method added to the DynamicTestCaseDataSource class.
  • Note: This update is backward-compatible with previous versions.

Version 1.1.1 (2025-03-31)
  • Updated: README.md Sample codes corrected.

Version 1.1.2 (2025-04-02)
  • Updated:
    • README.md Sample Test Classes with TestCaseData Lists' section Sample codes corrected.
    • Small README.md corrections and visual refactorings.

License

This project is licensed under the MIT License. See the License file for details.


Contact

For any questions or inquiries, please contact CsabaDu.


Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  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.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0-beta 50 9/1/2025
1.1.2 165 4/2/2025
1.1.1 160 3/31/2025
1.1.0 154 3/30/2025
1.0.4 162 3/19/2025
1.0.3 148 3/16/2025
1.0.2 143 3/16/2025
1.0.1 92 3/15/2025
1.0.0 155 3/13/2025

This is a beta release introducing breaking changes, new features, and architectural enhancements to the `CsabaDu.DynamicTestData.NUnit` library. These updates improve usability, flexibility, and extensibility.