Specflow: support for .NET 5

Created on 22 Sep 2020  Â·  9Comments  Â·  Source: SpecFlowOSS/SpecFlow

SpecFlow Version:

  • [x] 3.4
  • [ ] 3.3
  • [ ] 3.1
  • [ ] 3.0
  • [ ] 2.4
  • [ ] 2.3
  • [ ] 2.2
  • [ ] 2.1
  • [ ] 2.0
  • [ ] 1.9

Used Test Runner

  • [x] SpecFlow+Runner
  • [ ] MSTest
  • [ ] NUnit
  • [ ] Xunit


Version number:

Project Format of the SpecFlow project

  • [ ] Classic project format using packages.config
  • [x] Classic project format using <PackageReference> tags
  • [ ] Sdk-style project format
  • [ ] ???

.feature.cs files are generated using

  • [x] SpecFlow.Tools.MsBuild.Generation NuGet package
  • [ ] SpecFlowSingleFileGenerator custom tool

Visual Studio Version

  • [ ] VS 2019
  • [ ] VS 2017
  • [ ] VS 2015
  • [x] VS 2019 Preview (to allow .net 5)

Enable SpecFlowSingleFileGenerator Custom Tool option in Visual Studio extension settings

  • [ ] Enabled
  • [x] Disabled

Are the latest Visual Studio updates installed?

  • [x] Yes
  • [ ] No, I use Visual Studio version <Major>.<Minor>.<Patch>

.NET Framework:

  • [ ] >= .NET 4.5
  • [ ] before .NET 4.5
  • [ ] .NET Core 2.0
  • [ ] .NET Core 2.1
  • [ ] .NET Core 2.2
  • [ ] .NET Core 3.0
  • [ ] .NET Core 3.1
  • [x] .NET Core 5.0 (Should just be .NET 5 I believe)

Test Execution Method:

  • [x] Visual Studio Test Explorer
  • [ ] TFS/VSTS/Azure DevOps – Task – PLEASE SPECIFY THE NAME OF THE TASK
  • [ ] Command line – PLEASE SPECIFY THE FULL COMMAND LINE

<SpecFlow> Section in app.config or content of specflow.json


Issue Description

I am working on a new application, and both to test it and future proof the code I decided to start building it in .NET 5. now I would like to start adding tests (I know should've have 'em added beforehand, but I needed a working POC, not a tested app). most of specflow works flawless to my understanding, however when I go to run the tests the build in VS fails because it can not find the netcoreapp5.0 directory

Severity    Code    Description Project File    Line    Suppression State
Error   MSB3030 Could not copy the file "C:\Users\ChrisKruining\.nuget\packages\specrun.runner\3.4.19\tools\netcoreapp5.0\SpecFlow.Plus.Shared.dll" because it was not found.       Security    C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 4689    
Error   MSB3030 Could not copy the file "C:\Users\ChrisKruining\.nuget\packages\specrun.runner\3.4.19\tools\netcoreapp5.0\TechTalk.SpecFlow.Plus.RPC.dll" because it was not found. Security    C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 4689    
Error   MSB3030 Could not copy the file "C:\Users\ChrisKruining\.nuget\packages\specrun.runner\3.4.19\tools\netcoreapp5.0\TechTalk.SpecRun.Framework.dll" because it was not found. Security    C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 4689    

Steps to Reproduce

  • create .NET 5.0 project / solution
  • add nuget packages

    • SpecFlow

    • SpecFlow.Tools.MsBuild.Generation

    • SpecRun.SpecFlow

  • create a .feature file
  • build code / run test (builds code for you)
Feature-Request SpecFlow+ critical .NET Core Support easy

Most helpful comment

@njannink .NET 5 is released for 25 hours.... ;-)
And we worked the last 12 hours to get the packages ready. We really wanted to release them today, but we didn't make it 100%.
SpecFlow (https://www.nuget.org/packages/SpecFlow/3.5.5) is already published. The Runner will need some hours more, as the release pipelines have to be finished.

image
image

The SpecFlow+Runner packages should be published tomorrow morning (it is 6:00 pm here in Vienna, Austria already).

All 9 comments

Any updates on this?

We are working on it and our plan is to have .NET 5 support when it goes live in November.

Net5 is life and this is a blocker for me. Any updates or workaround?

@njannink .NET 5 is released for 25 hours.... ;-)
And we worked the last 12 hours to get the packages ready. We really wanted to release them today, but we didn't make it 100%.
SpecFlow (https://www.nuget.org/packages/SpecFlow/3.5.5) is already published. The Runner will need some hours more, as the release pipelines have to be finished.

image
image

The SpecFlow+Runner packages should be published tomorrow morning (it is 6:00 pm here in Vienna, Austria already).

SpecFlow+ Runner packages for .NET 5 are uploaded: https://www.nuget.org/packages/SpecRun.Runner/3.5.8
SpecFlow+ LivingDoc packages for SpecFlow 3.5 are also uploaded: https://www.nuget.org/packages/SpecFlow.Plus.LivingDocPlugin/3.4.243

Hi @SabotageAndi

I'm using 3.5.14 with .NET 5.0. From VS2019 is working fine. But how can I execute from command line? I can't find the SpecRun.exe executable file.

This for .NET 5.0

    Directory: C:\Users\MyUser\.nuget\packages\specrun.runner\3.5.8\tools\net5.0


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       25/03/2019     13:38          23552 BoDi.dll
-a----       14/08/2018     17:36         186368 CommandLine.dll
-a----       09/02/2018     01:34        2656416 FSharp.Core.dll
-a----       17/11/2017     01:33          30312 Microsoft.IdentityModel.Logging.dll
-a----       17/11/2017     01:33         126056 Microsoft.IdentityModel.Tokens.dll
-a----       02/05/2017     18:53         181776 Microsoft.VisualStudio.Threading.dll
-a----       02/05/2017     18:15          28184 Microsoft.VisualStudio.Validation.dll
-a----       24/03/2018     17:44         656384 Newtonsoft.Json.dll
-a----       11/11/2020     16:43          94208 SpecFlow.Plus.Shared.dll
-a----       28/09/2018     21:13          99392 StreamJsonRpc.dll
-a----       15/05/2018     13:29         382096 System.Configuration.ConfigurationManager.dll
-a----       17/11/2017     01:33         105576 System.IdentityModel.Tokens.Jwt.dll
-a----       15/05/2018     13:29          25232 System.Security.Cryptography.ProtectedData.dll
-a----       15/05/2018     13:29          96400 System.Security.Permissions.dll
-a----       11/11/2020     16:43          19968 TechTalk.SpecFlow.Plus.RPC.dll
-a----       11/11/2020     16:42          15872 TechTalk.SpecRun.Common.dll
-a----       11/11/2020     16:42          14848 TechTalk.SpecRun.dll
-a----       11/11/2020     16:43         192512 TechTalk.SpecRun.Framework.dll
-a----       11/11/2020     16:38           1076 TechTalk.SpecRun.Framework.dll.config
-a----       11/11/2020     16:45           7168 TechTalk.SpecRun.Framework.Executor.anycpu.net5_0.dll
-a----       11/11/2020     16:38            596 TechTalk.SpecRun.Framework.Executor.anycpu.net5_0.dll.config
-a----       11/11/2020     16:45          11040 TechTalk.SpecRun.Framework.Executor.anycpu.net5_0.pdb
-a----       11/11/2020     16:45            147 TechTalk.SpecRun.Framework.Executor.anycpu.net5_0.runtimeconfig.json
-a----       11/11/2020     16:44          40448 TechTalk.SpecRun.Framework.Executor.dll
-a----       11/11/2020     16:38            596 TechTalk.SpecRun.Framework.Executor.dll.config
-a----       11/11/2020     16:45           7168 TechTalk.SpecRun.Framework.Executor.x86.net5_0.dll
-a----       11/11/2020     16:38            596 TechTalk.SpecRun.Framework.Executor.x86.net5_0.dll.config
-a----       11/11/2020     16:45          11032 TechTalk.SpecRun.Framework.Executor.x86.net5_0.pdb
-a----       11/11/2020     16:45            147 TechTalk.SpecRun.Framework.Executor.x86.net5_0.runtimeconfig.json
-a----       11/11/2020     16:43          85504 TechTalk.SpecRun.Framework.Interfaces.dll
-a----       11/11/2020     16:43         121344 TechTalk.SpecRun.Framework.Utils.dll
-a----       11/11/2020     16:44          54784 TechTalk.SpecRun.VisualStudio.TestAdapter.dll
-a----       11/11/2020     16:38            762 TechTalk.SpecRun.VisualStudio.TestAdapter.dll.config

The executable appears for net461

    Directory: C:\Users\MyUser\.nuget\packages\specrun.runner\3.5.8\tools\net461


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       25/03/2019     13:38          23552 BoDi.dll
-a----       14/08/2018     17:36         185856 CommandLine.dll
-a----       09/02/2018     01:34        2650776 FSharp.Core.dll
-a----       11/11/2020     16:38         605488 Microsoft.Data.Services.Client.dll
-a----       17/11/2017     01:33          30312 Microsoft.IdentityModel.Logging.dll
-a----       17/11/2017     01:33         128112 Microsoft.IdentityModel.Tokens.dll
-a----       02/05/2017     18:53         207888 Microsoft.VisualStudio.Threading.dll
-a----       02/05/2017     18:15          29720 Microsoft.VisualStudio.Validation.dll
-a----       11/11/2020     16:38         337272 Microsoft.Web.Publishing.Tasks.dll
-a----       24/03/2018     17:44         662528 Newtonsoft.Json.dll
-a----       16/06/2017     17:11         288256 RazorEngine.dll
-a----       19/05/2011     01:05         121856 RestSharp.dll
-a----       11/11/2020     16:45         104960 SpecFlow.Plus.Runner.Reporting.exe
-a----       11/11/2020     16:45          20093 SpecFlow.Plus.Runner.Reporting.exe.config
-a----       11/11/2020     16:42          95232 SpecFlow.Plus.Shared.dll
-a----       11/11/2020     16:45         144896 SpecRun.exe
-a----       11/11/2020     16:45           1068 SpecRun.exe.config
-a----       11/11/2020     16:38          13134 SpecRunTestProfile.xsd
-a----       11/11/2020     16:38          13021 SpecRunTestProfile_2011_09.xsd
-a----       28/09/2018     21:13          99384 StreamJsonRpc.dll
-a----       17/11/2017     01:33         105064 System.IdentityModel.Tokens.Jwt.dll
-a----       11/11/2020     16:39          28624 System.Runtime.InteropServices.RuntimeInformation.dll
-a----       01/10/2013     20:54         271056 System.Web.Razor.dll
-a----       11/11/2020     16:43          19968 TechTalk.SpecFlow.Plus.RPC.dll
-a----       11/11/2020     16:42          15872 TechTalk.SpecRun.Common.dll
-a----       11/11/2020     16:42          14848 TechTalk.SpecRun.dll
-a----       11/11/2020     16:44         200704 TechTalk.SpecRun.Framework.dll
-a----       11/11/2020     16:38           1076 TechTalk.SpecRun.Framework.dll.config
-a----       11/11/2020     16:43           7168 TechTalk.SpecRun.Framework.Executor.AnyCPU.clr40.exe
-a----       11/11/2020     16:43           1276 TechTalk.SpecRun.Framework.Executor.AnyCPU.clr40.exe.config
-a----       11/11/2020     16:43          40448 TechTalk.SpecRun.Framework.Executor.dll
-a----       11/11/2020     16:38            596 TechTalk.SpecRun.Framework.Executor.dll.config
-a----       11/11/2020     16:43           7168 TechTalk.SpecRun.Framework.Executor.x86.clr40.exe
-a----       11/11/2020     16:43           1276 TechTalk.SpecRun.Framework.Executor.x86.clr40.exe.config
-a----       11/11/2020     16:42          85504 TechTalk.SpecRun.Framework.Interfaces.dll
-a----       11/11/2020     16:43          37888 TechTalk.SpecRun.Framework.Utils.dll
-a----       11/11/2020     16:44           9728 TechTalk.SpecRun.Server.CommandClient.dll
-a----       11/11/2020     16:43           8192 TechTalk.SpecRun.Server.Commands.dll
-a----       11/11/2020     16:44          12800 TechTalk.SpecRun.Server.ReadModelClient.dll
-a----       11/11/2020     16:45          54272 TechTalk.SpecRun.VisualStudio.TestAdapter.dll
-a----       11/11/2020     16:38            762 TechTalk.SpecRun.VisualStudio.TestAdapter.dll.config

@fescobar SpecRun.exe had never support for .NET Core (see https://specflow.org/blog/updating-to-specflow-3/ - Running Tests from the Command Line). You need to use dotnet test or vstest.console.exe for it.

@SabotageAndi Thank you so much for your quick response. It's so useful for me. I see you can filter by tag with dotnet https://docs.specflow.org/projects/specflow/en/latest/Getting-Started/Getting-Started-With-An-Example.html#run-scenarios-associated-with-work-item-12-or-13-tagged-as-wi12-or-wi13. Awesome!

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

Was this page helpful?
0 / 5 - 0 ratings