Unit Test Providers

Note: This information only applies to Full Framework projects using the app.config file to configure SpecFlow. For .NET Core and projects using specflow.json to configure SpecFlow, you need to add a NuGet package to your project to determine your unit test provider, see SpecFlow-and-.NET-Core,

SpecFlow supports several unit test framework you can use to execute your tests. In addition to using the built-in unit test providers, you can also create a custom provider. Use the <unitTestProvider> configuration element in your app.config file to specify which unit test provider you want to use.

The following table contains the built-in unit test providers.

Name Supports Description
row tests categories inconclusive

SpecFlow+ Runner (fka SpecRun)

+

+

+

SpecFlow+ Runner is a dedicated test execution framework for SpecFlow. Install it with the SpecRun.SpecFlow NuGet package. See SpecRun Integration for details.

NUnit

+

+

+

See http://www.nunit.org. Specialized NuGet packages available for easy setup: SpecFlow.NUnit, SpecFlow.NUnit.Runners. Supports parallel execution with NUnit v3.

MsTest.2008

-

-

+

MsTest provider for .NET 3.5

MsTest MsTest.2010

-

+

+

MsTest provider for .NET 4.0. Supports test categories. Specialized NuGet package available for easy setup: SpecFlow.MsTest.

xUnit

+

-

-

See http://www.xunit.net. Specialized NuGet package available for easy setup: SpecFlow.xUnit. Supports parallel execution with xUnit v2.