- Home
- BDD Testing Tools
- BddDotNet
BddDotNet
What it is
BddDotNet is a free, open source behavior-driven development framework for C# and .NET. Teams can write scenarios in Gherkin or assemble them in C# with a builder pattern. Its Gherkin source generator compiles feature files and registers steps, and Gherkin step arguments can use C# expressions. Table arguments can be transformed into C# models. The framework uses Microsoft.Testing.Platform as its testing backend and supports .NET 10+ runtimes. The project describes itself as based on Microsoft.Extensions.* and friendly to Native AOT deployment and trimming. Public interfaces and dependency injection provide extension points, while additional features come in separate NuGet packages. Setup involves installing BddDotNet and its Gherkin source generator in a .NET project. The guide demonstrates making a console application with Visual Studio or the .NET CLI, and the project provides a GitHub wiki for setup and feature documentation. It runs locally on Linux, macOS, and Windows. Its MIT license permits use, modification, distribution, and sublicensing subject to its terms, and provides the software without warranty.
For and against
For
- Supports Gherkin and C# scenario authoring
- Source generator compiles feature files and registers steps
- Transforms Gherkin tables into C# models
- Supports Native AOT and trimming
- Free under an MIT license
Against
- Supports .NET 10+ runtimes
- Additional features come in separate NuGet packages
- MIT license provides the software without warranty
The verdict
BddDotNet combines Gherkin authoring, C# scenario building, and generated step registration for local .NET projects. Its documented runtime support starts at .NET 10+, and the framework is distributed through NuGet packages.
Who it suits
BddDotNet suits C# and .NET developers who want to express behavior with Gherkin or build scenarios in C#. It is also relevant to projects using .NET 10+ runtimes and local test execution.
Plans and prices
Open source
MIT-licensed software
Read 8 Oct 2026 · github.com
On the record
- AOT and trimming
- The project describes itself as friendly to AOT deployment and trimming.github.com · read 4 Oct 2026
- Dependency integration
- The project describes itself as based on Microsoft.Extensions.*.github.com · read 8 Oct 2026
- Deployment
- The project describes itself as friendly to Native AOT and trimming.github.com · read 8 Oct 2026
- Distribution
- Setup instructions install BddDotNet and its Gherkin source generator as NuGet packages in a .NET project.github.com · read 4 Oct 2026
- Extensibility
- The project describes extensibility through public interfaces and dependency injection.github.com · read 4 Oct 2026
- Extension
- The framework supports extensibility through public interfaces and dependency injection.github.com · read 8 Oct 2026
- Gherkin
- The project supports Gherkin scenarios and provides a source generator.github.com · read 8 Oct 2026
- Gherkin arguments
- It supports C# expressions in Gherkin step arguments.github.com · read 4 Oct 2026
- License
- The repository includes an MIT License that grants permission to use, copy, modify, distribute, sublicense, and sell the software, subject to its terms.github.com · read 8 Oct 2026
- License limitation
- The MIT license states that the software is provided without warranty.github.com · read 8 Oct 2026
- Maker location
- The GitHub profile for Romfos lists Poland.github.com · read 8 Oct 2026
- Modularity
- The project says additional features are provided as separate NuGet packages.github.com · read 8 Oct 2026
- Notable modularity
- The project says additional features are provided as separate NuGet packages.github.com · read 4 Oct 2026
- Purpose
- BddDotNet is an open source behavior-driven development framework for C# and .NET with Gherkin support.github.com · read 8 Oct 2026
- Runtime support
- The README lists support for .NET 10 and later runtimes.github.com · read 8 Oct 2026
- Scenario authoring
- It supports writing scenarios in Gherkin and building scenarios in C# with a builder pattern.github.com · read 4 Oct 2026
- Source generation
- Its Gherkin source generator compiles feature files and registers steps.github.com · read 4 Oct 2026
- Step arguments
- Gherkin step arguments can use C# expressions.github.com · read 8 Oct 2026
The review
BddDotNet is a free, open-source BDD framework for teams building C# and .NET software. It is most compelling when product behavior needs to live beside .NET code, with both Gherkin authors and C# developers contributing. The trade-off is a current-runtime requirement: projects below .NET 10 are outside its stated support.
Overview
BddDotNet gives a .NET project two scenario-writing routes. Teams can describe behavior in Gherkin feature files, or developers can construct scenarios in C# through a builder pattern. That combination is practical for mixed teams: specifications remain readable, while code-heavy cases do not have to be forced into a text-only format.
Installation is handled through NuGet packages for BddDotNet and its Gherkin source generator. The documented setup uses a console application created in Visual Studio or with the .NET CLI, and a GitHub wiki supplies setup and feature guidance. Execution is local, using Microsoft.Testing.Platform as the testing backend. The framework is built around Microsoft.Extensions.* conventions, so teams already standardizing on those components will find the architecture familiar; teams committed to another test platform should account for the backend choice.
Key features
- Generated Gherkin integration: The source generator turns feature files into compiled code and registers their steps. This keeps readable scenarios inside the normal .NET build rather than requiring a disconnected test-authoring pipeline.
- C# builder scenarios: A builder pattern lets developers express scenarios directly in C#. It is useful for cases that need programmatic composition or for teams whose contributors are more comfortable in code than in Gherkin.
- Rich step arguments: Gherkin step arguments can contain C# expressions, and table arguments can be transformed into C# models. Those capabilities reduce the friction of moving structured scenario data into application-level types.
- Extension points: Public interfaces and dependency injection provide the stated extensibility model. Additional capabilities are delivered as separate NuGet packages, allowing a project to add modules without treating the framework as one indivisible installation.
- Deployment orientation: The project describes itself as friendly to Native AOT and trimming. That matters to teams planning lean, modern .NET deployments, although the benefit depends on the rest of the application and its dependencies.
Pricing
BddDotNet has one plan: Open source at free. The software is MIT-licensed, permitting use, modification, distribution, and sublicensing under the license terms. There is no paid tier, seat charge, usage quota, or trial period to manage. The license also states that the software is provided without warranty, so organizations should set their own support and maintenance expectations rather than assuming a commercial service commitment.
Platforms
BddDotNet supports Linux, macOS, and Windows. It targets local .NET projects and states support for .NET 10+ runtimes. That makes it a focused option for current .NET development across the three major desktop operating systems, but it is not a sensible choice for applications that must remain on an older runtime.
Who it's for
Choose BddDotNet if your team wants behavior specifications in Gherkin while retaining a first-class C# authoring path, or if generated step registration and dependency-injection-based extension are important to your test design. It also suits open-source-conscious teams that prefer a local framework with no licensing bill and projects considering Native AOT or trimming.
Look elsewhere when compatibility with pre-.NET 10 applications is mandatory, when your organization requires a different testing backend, or when you want a hosted service with commercial support and service guarantees. BddDotNet is a framework to integrate into your repository, not a managed testing workspace.
Pros and cons
Pros
- Two authoring styles: Gherkin and C# builders cover both specification-led and code-led scenario work.
- Build-time registration: Source generation connects feature files and step definitions during the .NET build.
- Structured data handling: C# expressions and table-to-model transformations make detailed steps easier to represent.
- Open licensing: The MIT license allows broad use, modification, and redistribution at no cost.
- Modular extension model: Public interfaces, dependency injection, and separate NuGet packages support tailored setups.
Cons
- .NET 10+ floor: Older projects cannot rely on the stated runtime support.
- Backend constraint: Microsoft.Testing.Platform is integral, which may conflict with an established alternative.
- No warranty: The MIT terms place support and operational risk with the adopting organization.
- Local-project focus: Teams seeking a hosted dashboard or managed execution service will need another category of product.
Alternatives
Cucumber Open is the better pick when you need a free, open-source option spanning Android, API, Linux, macOS, and Windows, with Cucumber Reports also free.
Serenity BDD fits teams needing a broader platform footprint, including iOS, web, self-hosted environments, and multiple desktop systems; its JUnit 4 support is deprecated and planned for removal in Serenity 6.0.0.
Kiwi is a free choice for iOS and macOS projects.
Concordion suits Java teams seeking an Apache-licensed open-source library across Linux, macOS, self-hosted, and Windows.
FitNesse is worth choosing for a free open-source project covering API, web, self-hosted, Linux, macOS, and Windows, with no commercial plans or limits stated.
Ginkgo is the alternative when your test code is in Go; its current supported major version is v2.
BDDX is the fit for a web-based service with usage tiers, starting free for up to 50 runs per month and moving to paid monthly plans for higher run bands.
Behat is a free Linux option for teams using its software stack.
For a wider comparison, browse BDD Testing Tools.
Verdict
BddDotNet is a strong match for .NET 10+ developers who want Gherkin and C# scenarios in one local, MIT-licensed framework, particularly when source generation and extensibility matter. Its zero price and dual authoring model are compelling. Look elsewhere if your project runs an older .NET runtime, depends on a different test backend, or needs hosted tooling and commercial assurances.