SpecFlow is a test automation solution for .NET built upon the BDD paradigm, and part of the Cucumber family. Use SpecFlow to define, manage and automatically execute human-readable acceptance tests in .NET projects (Full Framework and .NET Core).
SpecFlow tests are written using Gherkin, which allows you to write test cases using natural languages. SpecFlow uses the official Gherkin parser, which supports over 70 languages. These tests are then tied to your application code using so-called "bindings", allowing you to execute the tests using the testing framework of your choice. You can also execute your tests using SpecFlow's own dedicated test runner, SpecFlow+ Runner.
SpecFlow consists of several components:
- SpecFlow (open source): This is the core of SpecFlow, providing the functions for binding Gherkin feature files
- SpecFlow+ Runner (closed source): This is SpecFlow's dedicated test runner, and provides additional features such as advanced execution options and execution reports (HTML, XML, JSON). SpecFlow+ Runner is free of charge, but requires a license key.
- SpecFlow+ LivingDoc (closed source): LivingDoc is an extension for Azure DevOps/TFS that takes your Gherkin feature files and renders them in an easily readable format with syntax highlighting. You can view the output directly in Azure DevOps/TFS, meaning that anyone with access to the system can easily review your specifications when needed. SpecFlow+ LivingDoc is free of charge, but requires a license key
SpecFlow also includes a Visual Studio extension that adds a number of helpful features to Visual Studio (e.g. Intellisense, feature file templates, context menu entries). However, SpecFlow is not tied to Visual Studio; you can use SpecFlow with Mono or VSCode, for example.