All Posts

Reqnroll Parsable Value Retriever and Comparer

In this blog post, we’ll explore how to use the IParsable<T> interface to build a generic Reqnroll value retriever and comparer. We’ll start by creating custom value retrievers and comparers, then develop a reusable solution with generics, and finally, we’ll use reflection to make it even more generic. (This solution also works for its predecessor, SpecFlow, when using .NET 7 or higher.)

Replace placeholders in string with user-defined Bicep function

When you have a string value in Bicep with multiple placeholders that you want to replace, it can be tricky to find a good way to do this. In this blog post, I will show you how you can replace placeholders in a string with a couple of user-defined functions.

Apply Azure naming convention using Bicep functions

When deploying Azure resources, it’s a good practice to apply a naming convention to your resources. This will help you to identify the purpose of the resource and the environment it belongs to. In this blog post, I will show you how to apply a naming convention using Bicep user-defined functions. This post also includes a short introduction to the (experimental) Bicep Testing Framework.

Where to position SpecFlow in the Test Pyramid?

Automated testing is an essential part of software development, and determining the appropriate scope for your tests is crucial. This is also true when automating Gherkin scenarios with SpecFlow (or Cucumber). In this post I explore the different levels of the test pyramid and describe my preferred level for SpecFlow tests.

Transform SpecFlow Table Column

In a previous blog post I wrote about a trick on how to remove technical ids from Gherkin scenarios while still using technical ids in the step definitions. The proposed solution worked well for the given scenario, but not for other cases. In this post I look at several approaches on how to solve this issue.

Handling exceptions in SpecFlow

I use Gherkin scenarios to describe the functional specifications of my software and SpecFlow to automate these scenarios as tests. Usually there will be a couple of scenarios describing the happy path of the feature I’m building but also some scenarios concerning failures. In this post I’ll show my solution how to handle failures in the form of exceptions with the Driver pattern.