SpecFlow 3 is here!

SpecFlow 3 supports .NET Core

Before installing the new version, please read the information on updating to SpecFlow 3. The installation procedure is also covered there.

Information on changes to the Visual Studio extension can be found here.

WHAT’S NEW IN SPECFLOW V3?

New features:

  • Support for .NET Core!
  • Separate addition of default and non-default value comparers. ComparisonException indicates which value comparer was used for each difference
  • Uri and Null value retrievers added
  • BoolValueRetriver can now work with 1 and 0
  • Array & List support for any available item value retriever when instantiating class from Specflow table
  • Syntax and structural changes in value retriever/comparer registration
  • Check for non-default constructors using case-insensitive comparison
  • Add utility to get enum field value from TableRow.
  • Gherkin language data is used instead of an obsolete copy
  • Loader exceptions are appended to the exception message
  • Add CreateInstance<T> support to a TableRow

Fixes:

  • Visual Studio change detection integration for Net.SDK style projects via SpecFlow.Tools.MSBuild.Generation

Changes:

  • Command line options now need to be prefixed with -- (double dash) rather than /

Breaking changes:

  • Registration of value retrievers and comparers has been changed from RegisterValueComparer(___) to ValueComparers.Register(___)
  • Calling CreateInstance on an object with a constructor with default parameters populates the object using the default parameters instead of null values
  • Visual Studio change detection integration for Net.SDK style projects via SpecFlow.Tools.MSBuild.Generation

Known issue:

  • AfterTestRun code fails to complete under certain circumstances, see this GitHub issue for details and possible workarounds.
  • Step bindings from external assembly are not found: set Copy to output directory for specflow.json.

Removed:

  • The functions provided by specflow.exe (generate all, reports) have been removed completely.

You can find the full changelog here.

WHAT’S NEW IN SPECFLOW+ V3?

New features:

  • Support for .NET 2.0, 2.1, 2.2
  • Added DeleteFolder as a new deployment transformation step

Fixes:

  • Reports: Display the correct success rate for retried scenarios
  • Profile files are no longer duplicated in the solution explorer
  • Display failing scenarios with at least one pending or successful retry as randomly failed

Changes:

  • Command line options now need to be prefixed with -- (double dash) rather than /

Breaking changes:

  • Report generation has been moved to a separate process
  • The base class for reports has been changed from TechTalk.SpecRun.Framework.Reporting.CustomTemplateBase<TestRunResult> to SpecFlow.Plus.Runner.Reporting.CustomTemplateBase<TestRunResult>
    If you have customized the report templates, you will need to edit the first line of your templates accordingly.

Removed:

  • Support for combined test executors (e.g. SpecRun+NUnit and SpecRun+MSTest) has been removed as a result of the new plugin infrastructure

Behavioural changes:

  • If CLR 2.0 is specified as the runtime, SpecFlow+ Runner uses the CLR 4.0 executor.

 

A BIG THANK YOU TO ALL CONTRIBUTORS!

SpecFlow 3 would not have been possible without your contributions. Don’t forget to grab yourself some SpecFlow stickers!

alexvv
atanian123
atmcarmo
banovotz
Blackbaud-ChrisKessel
ChernyavskiyAlex
DanielTheCoder
david1995
Dietatko
epresi
gasparnagy
icnocop
inkinjo
kevinkuszyk
midgleyc
mmajcica
nbalakin
nesli92
nvborisenko
Regenhardt
SabotageAndi
sGeeK44
SirBoxBoxington
slig3
szaliszali
thomasouvre
Tragedian