Gáspár Nagy on software

coach, trainer and bdd addict, creator of SpecFlow

SpecFlow tips: Customizing dependency injection with Autofac

by Gáspár on August 18, 2016

SpecFlow creates and disposes the instances of your step definition classes automatically. It also allows injecting dependencies to these classes through a feature called context injection. This article shows how this injection can be configured to use the popular Autofac dependency injection framework.

SpecFlow Tips: Collect more information on error (part 2)

by Gáspár on May 13, 2016

In the first part of this article I described why it is important to provide more information on errors and how you can collect useful artifacts (screenshots, log files, etc.) in an [AfterScenario] hook. In this part I would like to explain how to write more informative assertions.

SpecFlow Tips: Run only specific scenarios in TFS/VSTS build

by Gáspár on May 11, 2016

Many teams who use SpecFlow setup their continuous integration environment with Microsoft Team Foundation Server (TFS) or its cloud based service, the Visual Studio Team Services (VSTS, fka VSO). TFS/VSTS has an improved build system, where it is much easier to setup and customize builds. Regardless of the fact, which unit test provider you use […]

SpecFlow Tips: Collect more information on error (part 1)

by Gáspár on April 1, 2016

When BDD scenarios are turned into executable automated tests, they usually automate the application together with its dependencies (e.g. end-to-end with browser automation or headless with controller-layer automation). This ensures that the application works as a whole, but unfortunately it also makes the analysis of a failing test harder. So many things can go wrong, […]

SpecFlow Tips: Put your hooks in order

by Gáspár on March 1, 2016

SpecFlow hooks (or events) are extension points where you can insert custom automation logic into the scenario execution before or after different sections, for example before any scenario execution. These can be used to perform custom preparation or cleanup logic, e.g. resetting the database. In bigger projects, you might need to have multiple hooks of […]