I have a Specflow Selenium BDD automation solution in C# using Visual Studio and want to start scheduling some automation runs based on tags and possibly features.

I've only used Nunit as a test runner in the past. Does Specflows own runner offer any distinct advantages? I'm also considering Xunit.

I was hoping to find a comparison somewhere but had no luck, is this just a personal choice thing?

2 Answers 2


Configuring the Unit Test Provider Tests are executed using a unit test provider. Add the corresponding NuGet package to your project to define your unit test provider:

SpecRun.Runner SpecFlow.xUnit SpecFlow.MsTest SpecFlow.NUnit You can only have one unit test provider!

Source: Executing SpecFlow Scenarios

All these frameworks are supported , why would you want to switch to xunit?

 nunit3-console.exe mytest.dll --where="Description=='Login' and cat == ie"

This is an example to run feature having name Login and tag having name or ie

  • thanks, yes thats how I've used Nunit in the past. I was curious as to whether switching unit test provider to Specflows own SpecRun.Runner (or Xunit) would give any additional functions or benefits.
    – m_finn
    Commented Dec 16, 2020 at 8:51
  • 1
    stackoverflow.com/a/58374136/6793637. This is the answer from specflow maintainer itself
    – PDHide
    Commented Dec 16, 2020 at 9:07


( ... or even unittest, pytest, if you would consider python: "unittest : A unit testing framework for Python. It is python’s xUnit style framework." )

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.