understanding specflow support for different test framework
Specflow is a BDD testing framework. It can be confusing to work with it. There are some key component that you need to be aware off.
1. SpecRun.Runner - that is used in many of their tutorials and it needs a LICENSE if you need to use it in production. You probably going to be calling "specrun.exe". Setup is really easy as it is well documented in their tutorials.
2. Specflow.MsTest - this is the tool that you use specflow together with mstest. This is the link where you can grab your nuget package. It is just a simple "Install-Package SpecFlow.MsTest".
Last step in this process is you need to edit App.config to configure code generation for Microsoft.
When you SAVE your file, you will be prompted to RE-GENERATE your features. If you have existing test say in specflow runner, it will be over-written and replaced. Your specflow is ms test ready.
Run unit test as you normally would in visual studio.
3. Specflow NUnit - Specflow offers support for nunit as well. You need to install the package
Install-Package SpecFlow.NUnit
Install-Package SpecFlow.NUnit.Runners
Yeap, you need a runner, otherwise you probably won't be able to run anything.
Great, now you're ready to update your app.config changes.
When you SAVE your file, you will be prompted to RE-GENERATE your features. click "yes" and let magic happens. If you have existing test say in specflow runner, it will be over-written and replaced. Your specflow is ms test ready.
Conclusion.
If you don't want to get a license, use option 2 and 3 above. Conversion is pretty straight forward.
Comments