dotnet-bdd-testing

Integrates Reqnroll BDD testing with Gherkin feature files into .NET projects using xunit.v3.

2|Updated Jul 18, 2026
One-click install
npx skills add https://github.com/Arasz/ai-badger --skill dotnet-bdd-testing-arasz
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dotnet-bdd-testing
Source: https://github.com/Arasz/ai-badger/tree/main/features/dotnet/skills/dotnet-workload/references/dotnet-bdd-testing
Command: npx skills add https://github.com/Arasz/ai-badger --skill dotnet-bdd-testing-arasz

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Choosing and wiring a BDD runner for .NET is risky: SpecFlow is end-of-life, lightweight alternatives cannot parse modern Gherkin, and generated-code, tag, and skip behaviors are poorly documented. This Skill provides verified, source-checked facts and a spike-first recipe for adding Reqnroll to a modern .NET stack. ## Core Features & Use Cases - Runner selection with evidence: Establishes that SpecFlow is EOL (never recommend it) and Reqnroll is the only live option, with verified package versions, licenses, and xunit.v3 support. - Verification spike recipe: Step-by-step throwaway spike in /tmp mirroring the repo's exact constraints (net10.0, xunit.v3, CPM, TreatWarningsAsErrors) before any real integration. - Tag, skip, and Rule: mechanics: Source-verified mapping of @ignore to Skip, other tags to Category traits, Rule: block support, and guidance for un-ignoring dormant scenarios. - Use Case: A team wants to add Gherkin .feature files to a net10.0 project using central package management. The Skill walks through querying the NuGet API, building a green spike, configuring reqnroll.json, and wiring build-time code-behind generation. ## Quick Start Use the dotnet-bdd-testing skill to add a Reqnroll BDD test project with one feature file to my .NET 10 solution and verify it passes.

Frequently Asked Questions about dotnet-bdd-testing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add BDD Gherkin tests to a .NET project?

Add the Reqnroll and Reqnroll.xunit.v3 packages, a reqnroll.json config, and .feature files with step definitions. Code-behind is generated at build time, so no committed .feature.cs files are needed. Always run a throwaway spike first to verify the exact stack.

Is SpecFlow still a valid BDD option for .NET?

No. SpecFlow reached end-of-life on 2024-12-31, its GitHub repos were deleted, and its NuGet line is stuck on stale betas supporting xUnit v2 only. Reqnroll is the actively maintained successor and the only live option for new integrations.

Does Reqnroll support xunit.v3 and .NET 10?

Yes. xUnit v3 support shipped in Reqnroll 3.1 via the Reqnroll.xunit.v3 adapter package, and version 3.3.x templates support .NET 10. The adapter requires xunit.runner.visualstudio 3.0.2 or later, and generated tests are async Task-based.

How do I skip or filter Reqnroll scenarios with tags?

The @ignore tag is special-cased at generation time and emits Skip="Ignored" on the generated test. Every other tag becomes a Category trait, so dotnet test --filter "Category=..." works with zero configuration. Rule-level tags merge into each contained scenario.

Why does my Reqnroll test filter run zero tests?

Generated test names are the scenario display texts, so filtering by FullyQualifiedName or class name matches nothing. Run dotnet test --list-tests to discover real names, then filter with DisplayName~<scenario text>.

Why do Reqnroll scenarios fail after removing @ignore?

Bindings written while a scenario was ignored never executed and are often subtly broken, such as wrong positional arguments or [When] bindings not matching And-when steps. Run the filtered suite after un-ignoring and fix binding bugs in batches.