'Can I safely run SpecFlow tests using xUnit test runner, expecting full support?

Specflow test runner does not support .Net 6. This makes me wonder whether SpecFlow is a good technology to use for end-to-end tests in .Net. I would not like to invest a lot of time in building end-to-end tests only to find out that in the near future the integration breaks and Specflow is no longer supported in .Net.

Can I safely use a different test runner (say, nUnit or xUnit)? Can I expeting SpecFlow to be supported in future .Net releases? I know nobody has a crystal ball, but I wanted to know if this is considered the "new standard" for running SpecFlow tests in .Net.



Solution 1:[1]

SpecFlow supports the major unit test providers.. You can migrate from SpecFlow+Runner to any of those providers.

The retirement of SpecFlow+Runner was announced in January 2022:

We have had numerous queries regarding the support of .NET 6 for SpecFlow+ Runner. Sadly, we must let you all know that we will be discontinuing any further development on SpecFlow+ Runner, with version 3.9.31 being the last version of the SpecFlow+ Runner.

... To be able to achieve our goals, we need to be more focused and get rid of things that would hinder us in our progress. ... Unfortunately, SpecFlow+ Runner is one of the projects that is hindering us in innovating. Developing a test-runner that integrates tightly in the .NET ecosystem has become more complicated in the last few years. Adding support for a new .NET version (which happens every year) is a fair amount of work for multiple developers.

Currently SpecFlow supports the following unit test providers (or test runners):

  • MS Test
  • NUnit
  • xUnit

Since the unit test providers above handle integration with the Visual Studio test runner, they will have long term support. Choose whichever one suits your needs.

See the SpecFlow+Runner docs for more information.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Greg Burghardt