BddDotNet vs pytest-bdd
BddDotNet
github.compytest-bdd
pytest-bdd.readthedocs.ioSide by side
| Figure | BddDotNet | pytest-bdd |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · BDD Testing Tools | 8.8 (#2) | 7.4 (#19) |
| License | The repository includes an MIT License that grants permission to use, copy, modify, distribute, sublicense, and sell the software, subject to its terms. | PyPI lists the package as licensed under the MIT License. |
| Purpose | BddDotNet is an open source behavior-driven development framework for C# and .NET with Gherkin support. | pytest-bdd implements a subset of Gherkin to automate requirements testing and support behavior-driven development. |
| Step arguments | Gherkin step arguments can use C# expressions. | Step definitions can use string, parse, cfparse, or regular-expression parsers for step arguments. |
Plans
In their own words
BddDotNet
BddDotNet is an open-source behavior-driven development framework for C# and .NET. It supports scenarios written in Gherkin or assembled in C# through a builder pattern. Its Gherkin source generator compiles feature files and registers steps; step arguments can use C# expressions, and table arguments can be converted into C# models. The framework uses Microsoft.Testing.Platform and is based on Microsoft.Extensions.*. The project says it supports .NET 10+ runtimes and is suited to Native AOT deployment and trimming. Public interfaces and dependency injection provide extension points, while additional features are available in separate NuGet packages. To add it to a .NET project, install BddDotNet and its Gherkin source generator as NuGet packages. Setup examples use a console application created with Visual Studio or the .NET CLI, and a GitHub wiki provides setup and feature documentation. It runs locally on Linux, macOS, and Windows. BddDotNet is free under the MIT license, whose terms permit use, modification, distribution, and sublicensing; the software is provided without warranty.
pytest-bdd
pytest-bdd is a Python package for automating requirements tests with behavior-driven development. It implements a subset of Gherkin and runs scenarios as pytest tests, without a separate test runner. Feature steps can reuse pytest fixtures through dependency injection, and step definitions can accept arguments parsed as strings, with parse or cfparse formats, or by regular expression. The scenarios helper can bind scenarios from feature files and folders, including recursive folder discovery. Scenario outlines support parameterized cases and tagged example tables; step functions can also receive Gherkin data tables as row lists and docstrings as strings. For browser tests, the documented example uses pytest-splinter to provide a browser fixture. Installation is via `pip install pytest-bdd`. The package is open source under the MIT License, free at free, and requires Python 3.10 or newer. Listed platforms are Linux, macOS, and Windows.