Eshva.Testing.Reqnroll 1.1.2

Prefix Reserved
dotnet add package Eshva.Testing.Reqnroll --version 1.1.2
                    
NuGet\Install-Package Eshva.Testing.Reqnroll -Version 1.1.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Eshva.Testing.Reqnroll" Version="1.1.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Eshva.Testing.Reqnroll" Version="1.1.2" />
                    
Directory.Packages.props
<PackageReference Include="Eshva.Testing.Reqnroll" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Eshva.Testing.Reqnroll --version 1.1.2
                    
#r "nuget: Eshva.Testing.Reqnroll, 1.1.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Eshva.Testing.Reqnroll@1.1.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Eshva.Testing.Reqnroll&version=1.1.2
                    
Install as a Cake Addin
#tool nuget:?package=Eshva.Testing.Reqnroll&version=1.1.2
                    
Install as a Cake Tool

Useful utilities for testing with BDD framework Reqnroll (a fork of SpecFlow).

Installation and usage

Install the package from NuGet:

dotnet add package Eshva.Testing.Reqnroll

Or via the NuGet Package Manager:

Install-Package Eshva.Testing.Reqnroll

Or via appropriate window in Rider or Visual Studio.

Then place in the root of your test project folder a file named reqnroll.json (more info about Reqnroll configuration), if you don't have it yet, and add into it the following bindingAssemblies section:

{
  "$schema": "https://schemas.reqnroll.net/reqnroll-config-latest.json",
  "bindingAssemblies": [
    {
      "assembly": "Eshva.Testing.Reqnroll"
    }
  ]
}

Steps argument transformations

Date-time offset transformation

Transforms original string value given in dd.MM.yyyy HH:mm:ss format into DateTimeOffset at UTC. Supports the following special values:

  • <min>DateTimeOffset.MinValue,
  • <max>DateTimeOffset.MaxValue.

Nullable date-time offset transformation

Transforms original string value given in dd.MM.yyyy HH:mm:ss format into DateTimeOffset at UTC. Supports the following special values:

  • <min>DateTimeOffset.MinValue,
  • <max>DateTimeOffset.MaxValue,
  • <null>null,
  • nullnull.

Nullable time span transformation

Transforms original string value into TimeSpan. Supports the following special values:

  • <min>TimeSpan.MinValue,
  • <max>TimeSpan.MaxValue,
  • <null>null,
  • nullnull.

Nullable string transformation

Returns original string value or on of the following special values:

  • <empty>string.Empty,
  • <whitespace>\r\n \t,
  • <null>null,
  • nullnull.

Nullable string array, list and readonly list transformations

Parses original string value into list of string items. Items should be separated with comma or semicolon. Leading and trailing white-spaces characters ara trimmed. Supports the following special values:

  • <empty> — empty list,
  • <null>null,
  • nullnull.

Nullable signed and unsigned number transformations

Parses original string value into one of: sbyte, byte, short, ushourt, int, uint, long, ulong. Supports the following special values:

  • <min> — number type minimum value,
  • <max> — number type maximum value,
  • <null>null,
  • nullnull.

Contexts and steps

Error handling context

Error handling context, and it's associated steps could be used to centralize error handling. To use it get ErrorHandlingContext instance in your steps classes like this:

public GetEntrySteps(ErrorHandlingContext errorHandlingContext) {
  _errorHandlingContext = errorHandlingContext;
}

After that you should publish to this context caught exception:

[When("I get (.*) cache entry asynchronously")]
public async Task WhenIGetCacheEntry(string key) {
  try {
    _cachesContext.GottenCacheEntryValue = await _cachesContext.Cache.GetAsync(key).ConfigureAwait(continueOnCapturedContext: false);
  }
  catch (Exception exception) {
    _errorHandlingContext.LastException = exception;
  }
}

In your feature-files you can use the following steps:

  • Then no errors are reported
  • Then not supported error should be reported
  • Then argument not specified error should be reported
  • Then argument out of range error should be reported
  • Then invalid operation error should be reported

Or their Russian versions:

  • Тогда не должно быть получено никаких ошибок
  • Тогда я должен получить ошибку неподдерживаемой операции
  • Тогда я должен получить ошибку о неопределённом аргументе
  • Тогда я должен получить ошибку о выходе значения за допустимые границы
  • Тогда я должен получить ошибку о недопустимой операции
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net461 was computed.  net462 is compatible.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.2 258 11/15/2025