Precept.Reqnroll
0.10.0
dotnet add package Precept.Reqnroll --version 0.10.0
NuGet\Install-Package Precept.Reqnroll -Version 0.10.0
<PackageReference Include="Precept.Reqnroll" Version="0.10.0" />
<PackageVersion Include="Precept.Reqnroll" Version="0.10.0" />
<PackageReference Include="Precept.Reqnroll" />
paket add Precept.Reqnroll --version 0.10.0
#r "nuget: Precept.Reqnroll, 0.10.0"
#:package Precept.Reqnroll@0.10.0
#addin nuget:?package=Precept.Reqnroll&version=0.10.0
#tool nuget:?package=Precept.Reqnroll&version=0.10.0
Precept.Reqnroll
Runs Reqnroll feature files on the Precept test runner. Carries both the
generator plugin that turns .feature files into Precept test classes and the runtime plugin that
maps pending and ignored steps onto Precept outcomes — nothing else is needed for Gherkin.
dotnet add package Precept.Reqnroll
A feature file, and the bindings that make it run. The outline below produces two tests, one per row
of its Examples: table:
Feature: Calculator
@smoke
Scenario Outline: Adding two numbers
Given I have entered <left> into the calculator
And I have entered <right> into the calculator
When I press add
Then the result should be <total> on the screen
Examples:
| left | right | total |
| 1 | 2 | 3 |
| -5 | 5 | 0 |
[Binding]
public class CalculatorSteps
{
private readonly List<int> _operands = [];
private int _result;
[Given("I have entered {int} into the calculator")]
public void GivenIHaveEntered(int number) => _operands.Add(number);
[When("I press add")]
public void WhenIPressAdd() => _result = _operands.Sum();
[Then("the result should be {int} on the screen")]
public Task ThenTheResultShouldBe(int expected) =>
Assert.That(_result, "the screen").ToBeEqualAsync(expected);
}
Step definitions are ordinary Reqnroll [Binding] classes, and everything Reqnroll supports — data
tables, ScenarioContext, constructor injection, hooks — works unchanged. Reqnroll builds one
instance per scenario, which is why the fields above hold a scenario's own state safely while
scenarios run in parallel. The assertions are Precept's.
.feature files compile on their own once this package is referenced; there is no code-behind to
check in. "Go to test" from a test explorer lands in the .feature file rather than the generated
code, because the generator emits the source location of the scenario itself.
Reqnroll is configured from the Reqnroll section of precept.json — the trace settings, the
outcome of a missing step, row tests, the non-parallelizable tags and the rest — so there is no
reqnroll.json to keep. See
configuring Reqnroll.
Worth knowing: the generator emits one class per feature file, and Precept's default unit of
parallelism is a class — so a suite of two feature files puts at most two units in flight however
high MaxParallelism is. Set "ParallelScope": "Test" to schedule scenarios individually.
Part of Precept, a .NET 10 test automation framework. Full documentation: writing tests in Gherkin · test explorer navigation · execution model · test data from Gherkin
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Microsoft.Extensions.Configuration (>= 10.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.0)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.0)
- Microsoft.Extensions.Configuration.Json (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Precept.Core (>= 0.10.0)
- Reqnroll (>= 3.3.4)
- Reqnroll.Tools.MsBuild.Generation (>= 3.3.4)
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 |
|---|---|---|
| 0.10.0 | 51 | 9/10/2026 |
| 0.8.0 | 44 | 9/10/2026 |
| 0.7.0 | 49 | 9/9/2026 |
| 0.6.0 | 101 | 9/2/2026 |
| 0.5.1 | 95 | 9/2/2026 |
| 0.5.0 | 87 | 9/1/2026 |
| 0.4.1 | 115 | 8/16/2026 |
| 0.4.0 | 120 | 8/16/2026 |
| 0.3.0 | 102 | 8/15/2026 |
| 0.2.0 | 96 | 8/15/2026 |
| 0.1.3 | 101 | 8/13/2026 |
| 0.1.2 | 103 | 8/13/2026 |
| 0.1.1 | 104 | 8/13/2026 |
| 0.1.0 | 98 | 8/12/2026 |