Additional SpecFlow+ Runner Features

SpecFlow+ Runner includes a number of features that make working in Visual Studio easier.

Grouping Tests by Category

When using SpecFlow+ Runner to execute your tests, you can group scenarios according to various attributes:

  • Select Group By Traits to group the SpecFlow scenarios by the tags defined at the scenario or feature level:
  • Select Group By Class to group the SpecFlow scenarios by feature (with the feature title in plain text:

SpecFlow Reports

SpecFlow+ Runner generates an advanced execution report for each test run. To view the report, select Tests in the Show output from field in the Output window:

Click on the link to the report file to view the report in Visual Studio:

You can configure the name of the report file in the SpecFlow+ Runner settings (ReportFile element in the .runsettings file). More details are available here.

The report provides a convenient side-by-side view of the individual scenario steps and the trace output for each step:

Step definitions can write to the trace output to provide a lower level technical representation of the executed step (e.g. a more verbose representation of data structures that are processed in a step).

Running SpecFlow Tests from the Command Line

You can also run runtests.cmd from the command prompt to execute your specification tests.

Additional SpecFlow+ Runner Features

SpecFlow+ Runner offers several additional features that improve SpecFlow’s integration with Visual Studio, such as:

  • Parallel test execution
  • Detect flickering (intermittently failing) scenarios
  • Smart test execution order (run failed tests first)
  • Execute tests in different runtime environments
  • Automatic deployment configuration
  • SpecFlow integration with Team Foundation Server

SpecFlow+ requires to sign up for a free personal SpecFlow account. Learn more about the account here.

Alternatively, you can instead use other test engines, like MsTest, xUnit or NUnit. These packages are installed in exactly the same manner as SpecFlow+ Runner, but do not require a SpecFlow Account. However, they also lack the extended features found in SpecFlow+ Runner.