Reqnroll
<PackageReference Include="Tracera.Reqnroll" Version="*" />
Requires .NET ≥ 8 and Reqnroll ≥ 2 (see Autotest adapters). Tracera.Reqnroll on NuGet.
Environment variables and run mode: Autotest adapters.
The plugin loads automatically when the package is referenced — no extra config attribute.
Bind testCaseId and autotestName
Prefer tags on the Scenario:
@tracera.id:42
Scenario: Login
Given the user opens login
If a custom name is omitted, autotestName takes the value of the Scenario title.
Inside a step definition:
[When("the user submits valid credentials")]
public void Submit()
{
Tracera.TestCase(42, "e2e/login");
}
Skip
Use the stock skip API for your unit-test provider (NUnit Assert.Ignore, xUnit Assert.Skip, …). The skip reason is added to the result as comment.
Steps
Gherkin steps map to the result’s Test section. Nest with Tracera.Step("…", () => { … }), Tracera.Step("…", async () => { … }) (async lambdas are awaited), or put [Tracera.Step("…")] on a method (sync and async Task). With [Tracera.Step], if the title is empty or omitted, the step title becomes the method name; {0} / {name} in the title are filled from the method arguments. Scenario Before / After hooks map to Setup / Teardown. Feature-level hooks are not reported.
[Tracera.Step("add {sku}")]
public void AddSku(string sku) { }
[When("the user checks out with {string}")]
public void Checkout(string sku)
{
AddSku(sku);
Tracera.Step("pay", () => { });
}
Comments, errors, and attachments
Comments, errors, and attachments: Autotest adapters.
Tracera.Comment("result-level note");
Tracera.Error("result-level error text");
Tracera.Step("open login", () =>
{
Tracera.Comment("landed on login");
});
Parameterized tests
Each Examples row gets a Scenario name with <…> already filled in by Reqnroll. Put a fixed @tracera.id: on the Outline or Scenario, or call Tracera.TestCase when the id varies per example.
@tracera.id:42
Scenario Outline: Login as <login>
Given the user signs in as "<login>"
Examples:
| login |
| ok |
| sso |