Previously I wrote a 24 Days in Umbraco article on how to test your Umbraco solutions with SpecFlow, a free open-source Behaviour Driven Development (BDD) framework.
Unfortunately, as of 31st December 2024, SpecFlow was made end of life by Tricentis making my article obsolete. How fast things change in the .NET ecosystem these days!
If I was looking to add BDD testing to my Umbraco solution today, how would I do it?
Introducing Reqnroll
Reqnroll is a fork of SpecFlow maintained by one of the original creators.
This works as a drop-in replacement, allowing you to use all of the great BDD features that SpecFlow offered for testing your project.
To get started with Reqnroll on a new project, use the following commands to setup a new testing project in your solution.
dotnet new install Reqnroll.Templates.DotNet
dotnet new reqnroll-project -o MyProject.Specs -f net8.0 -t xunit
dotnet sln add MyProject.Specs
dotnet add MyProject.Specs reference MyProject.Web
Most steps in my original article would still apply, just string replace SpecFlow.* with Reqnroll.*.
However for existing projects, there’s a great guide on how to do the migration in the Reqnroll documentation.