Unable to find SpecRun.exe when using SpecFlow 1.9 and SpecRun 1.1 - bdd

Just downloaded the latest SpecFlow 1.9 from NuGet into the BookStore demo.
The scenarios run fine - everything passes.
When I install SpecRun 1.1 from NuGet and run the scenarios, SpecFlow gives me a dialog box that states: "Unable to find SpecRun.exe."
I have removed MSTest runner from app.config.
I have verified that SpecRun.exe is in:
\BookShop\packages\SpecRun.Runner.1.1.0\tools
It compiles fine, the site still runs fine - just not SpecFlow using SpecRun.
Am i missing a config step?
Thanks.

You probably need to upgrade both the NuGet-package and the VS IDE integration; http://www.specflow.org/specflownew/WhatsNew19.html.
Worked for me at least :)

I believe the problem is with the removal of MSTest. I had the same error ("Unable to find SpecRun.exe"), and in my case it was because the Test runner tool in my project settings was not set to MSTest.

I faced the similar problem.
Try to install SpecFlow 1.9.2 extension via Tools->Extension Manager...

Related

Upgrading SpecFlow and SpecFlow+ resulting in 'SpecFlow.Plus.Runner.AssemblyHooks.cs could not be found' error

I have just attempted to upgrade my .net framework SpecFlow+ project from 3.0.225 to 3.5.14 for SpecFlow and from 3.0.391 to 3.5.8 for SpecFlow+ runner and I'm getting the following build error...
'C:\Users\Matthew.OConnor\Source\Repos\selenium\Selenium.SEPA\obj\Debug\SpecFlow.Plus.Runner.AssemblyHooks.cs' could not be found
The file isn't there but should it be there? Why might it not be there when I build?
I'm using the latest version of Visual Studio (16.8.2) and I have the following SpecFlow packages installed
SpecFlow - 3.5.14
SpecFlow.Assist.Dynamic - 1.4.2
SpecFlow.Tools.MsBuild.Generation - 3.5.14
SpecRun.Runner - 3.5.8
SpecRun.SpecFlow.3-5-0 - 3.5.8 (This displays twice for some reason but was installed once)
What could be the problem here?
I'm not quite sure what the problem was here, but creating a new project with the most up to date SpecFlow packages worked. I was then able to copy my files across

Visual Studio 2019 Test Explorer puts all tests under "Not Run Tests"

I have a ASP.Net Core 3 project with Visual Studio Professional 19.4.1 with xUnit 2.4.0. I have a couple of tests written there. My problem is that Visual Studio shows all the tests in this project always under "Not Run Tests". The same tests run well with command line (dotnet test) or another computer.
Repairing/Reinstalling Visual Studio did not help.
Any help is much needed!
UPDATE: I also realized that extension DotNet Extensions for Test Explorer is not present on this computer. This is present on other computer where these work. The problem, however, is how and where to get this extension from?
I already have xunit.runner.visualstudio 2.4.0 included in the project.
Any help is much valuable!!!
Upgrade the nuget package Microsoft.NET.Test.Sdk to version 16.4.0 (or newer).
When creating a new xunit project in vs2019, the version of Microsoft.NET.Test.Sdk installed is 16.2.0, which xunit.runner.visualstudio (v2.4.0 or newer) doesn't seem to work in.
Okay, got the same error where it simply did not run any of my tests despite obviously knowing about them (visible in test explorer in Test > Test Explorer). When I pressed Run or Run all tests, it just categorized them all as "not run". To fix this I lowered my .Net Core Target framework from 3.1 to 3.0 and that fixed it for me after a clean, rebuild of the unit test project.
This error may occur if you have cloned from a repository that used a different framework.
Installing both xunit.runner.visualstudio and xunit.runner.console worked for me.

Which Specflow Visual Studio Plugin version do I need to run SpecFlow 2.2.0?

I am not able to determine, which version of the SpecFlow Visual Studio plugin I need to run the old version 2.2.0 of SpecFlow
Due to administrative constraints, we cannot use any other SpecFlow version than 2.2.0
I have tried several older versions of the VS plugin, but with my existing Code (based on SpecFlow 2.2.0), all these result in the error:
Error CS1029 #error: 'Version conflict - SpecFlow Visual Studio extension
attempted to use SpecFlow code-behind
generator 1.9, but project 'XXXXXXX' references SpecFlow 2.2.'
I suppose that I need some plugin Version, that works internally with 2.2
I cannot use the SpecFlow.Tools.MsBuild.Generation package, as this is not yet supported with 2.2.0.
Anyone can help me out? The release history of the SpecFlow Visual Studio Plugins can be found here:
https://github.com/techtalk/SpecFlow.VisualStudio/releases
EDIT
I use Visual Studio 2017 (15.9.6)
In the "packages" folder there are SpecFlow-2.2.0 and SpecFlow.MsTest-2.2.0. I deleted them, I deleted the nuget package Cache and rebuild the solution.
Problem still exists.
The error you are seeing has nothing to do with the suggestions in the comments. It is an additional check we added to the extension.
For SpecFlow 2.2 you have to use an older version of the extension. You can find them at https://github.com/techtalk/SpecFlow.VisualStudio/releases
When I am remembering correctly v2017.2.7 should work for it.
Don't forget to turn off automatic updates of the extension. If you do, you will get again the latest version.
Blog post about how to do it is here: https://specflow.org/2018/vs-integration-breaking-changes-affects-all-users/
Full disclosure: I am one of the SpecFlow and SpecFlow+ developers.
make sure you install the right Specflow extension for your VS(try uninstall and reinstall as well) also make sure you set "Enable SpecflowSingleFileGenerator to false" in VS>Tools>Options>Specflow. you only need this to be true for version 3 onward I suppose.
I had this issue, and while It worked to some extend however, I just install VS 2015 and use specflow 2.2 under that. you should be able to make it work for VS 17 I guess.

Specflow not working with Nunit 3.0 but working with NUnit 2.6

I am using specflow for BDD for a POC project. I had installed the nuget packages for Specflow ,Specflow.NUnit, NUnitTestAdapter and NUnit (version 2.6). I seemed to be happy since i was getting the expected result.
After a few days, I am working on a new project and i installed all the nuget packages mentioned above. Everything worked fine again. However, when i upgraded Nunit from version 2.6 to the latest stable version 3.0, my tests were not discovered in the Test explorer.
I can continue with the older version but still i would like to go with the latest stable version
I am not sure what steps do i need to take to get my specs running and see all my tests in the Test Explorer.
Any help would be appreciated.
Thanks.
The current version of specflow at time of writing (1.9) won't work with nunit 3. The new version, currently under development (v2) will support it so you will need to wait for that to use nunit v3, or use the beta version from the CI build

Using GoogleTestRunner in our TFS Build

We are using the Google Test framework (version 1.7) for unit tests in C++ project (with Visual Studio 2012 and TFS 2012). By using GoogleTestRunner for VS2012 I am able to discover the tests written in Google Test within Visual Studio and run them. So far so good :)
Now I would like to run the tests with my CI build I have set up on our TFS. Therefore I have installed the GoogleTestRunner on my build server for the user that runs our build. If I run the build (and tests) on the build server directly in Visual Studio it works - but when the build is triggered by the TFS build definition I displays the following message in the log:
No test found. Make sure that installed test discoverers & executors,
platform & framework version settings are appropriate and try again.
Any suggestion what I am missing?
Is this working for anybody at all?
Your help is highly appreciated!
Christoph
I have been able to sort it out myself :)
There is a guide showing how to get it running for NUnit. Just follow that guide and adopt it to the GoogleTestRunner:
http://bartwullems.blogspot.de/2012/10/tfs-2012-build-configure-nunit-to-run.html
I extracted the DLLs from the GoogleTestRunner.vsix file with 7zip (I assume any other Zip program would work as well). I checked in all DLLs I found there (as described in the mentioned guide) - don't know if really all DLLs are needed.

Resources