SpecFlow+ Version 1.3 Upgrade Notes

Posted on:

Note: If you haven’t already, please read the information on upgrading to SpecFlow 2.

Customised Report Templates

New Razor Engine and Syntax

SpecFlow+ Runner 1.3 uses Razor 3.6.1, whereas the previous version used Razor 2.1.0. If you have created a custom report template, you may need to update your template to reflect the 3.6.1 syntax.

Intellisense

Using intellisense with report templates requires a number of DLLs to be added as references to your project:
  • RazorEngine.dll
  • System.Web.Razor.dll
  • TechTalk.SpecRun.Framework.dll
  • TechTalk.SpecRun.Framework.Interfaces.dll
These DLLs are included in the NuGet package, but will not be updated to the new version when updating SpecFlow+ Runner to 1.3. You need to manually replace the old 1.2 versions of these DLLs with the versions in the 1.3 package.

Team Foundation Server XAML Build Agents

Different SpecFlow+ Runner versions require a different TFS XAML build agent. If you are using TFS XAML build agents with SpecFlow+ Runner and have projects with version 1.2 and projects with version 1.3, you need to ensure that these projects use the appropriate build agent. You can do this by defining tags to differentiate between the two versions. To do so:
  1. Open the Team Explorer in Visual Studio.
  2. Click on Builds.
  3. Right click on your build definition and select Edit Build Definition.
  4. Click on Process in the pane on the left.
  5. Open the Advanced | Agent Settings node.
  6. Enter a suitable Tags filter, e.g. “SpecFlow+ Runner 1.2” or “SpecFlow+ Runner 1.3”.
  7. Open the TFS Server Administration Console on your build sever. Click on Properties next to the desired build agent and enter the same tag filter as before to assign the desired build agent.