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

You can find a number of step- by- step guides to start with SpecFlow here. There are guides available for both complete beginners and more advanced users.