Welcome to SpecFlow’s documentation!

SpecFlow is a test automation solution for .NET built upon the BDD paradigm. 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 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, and only requires a free SpecFlow Account.
  • SpecFlow+ LivingDoc (closed-source): This is a set of tools that renders your Gherkin Feature Files in an easily readable format with syntax highlighting and allows you to quickly share and collaborate on Gherkin Feature Files with stakeholders that are not familiar with developer tools (such as Visual Studio).
  • SpecFlow+ LivingDoc Generator is available set of plugins and tools for SpecFlow to generate a local or self-hosted documentation out of your Gherkin feature files, which can be easily shared. No SpecFlow account needed.
  • SpecFlow+ LivingDoc Azure DevOps is an extension for Azure DevOps/TFS. 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 Azure DevOps is free of charge, and only requires a free SpecFlow Account.

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 as well.

Let’s get started

Start with a new project

Learn the basics of SpecFlow and follow our step by step guide to setup SpecFlow and the SpecFlow+ Runner with a new project in Visual Studio.

Getting Started with a new project

Start with an example project

Follow our step by step guide to explore, experiment and learn the basics of SpecFlow based on a simple web application project using SpecFlow and the SpecFlow+ Runner.

Getting Started with an example project