Expressium.LivingDoc.ReqnrollPlugin
1.1.2
dotnet add package Expressium.LivingDoc.ReqnrollPlugin --version 1.1.2
NuGet\Install-Package Expressium.LivingDoc.ReqnrollPlugin -Version 1.1.2
<PackageReference Include="Expressium.LivingDoc.ReqnrollPlugin" Version="1.1.2" />
<PackageVersion Include="Expressium.LivingDoc.ReqnrollPlugin" Version="1.1.2" />
<PackageReference Include="Expressium.LivingDoc.ReqnrollPlugin" />
paket add Expressium.LivingDoc.ReqnrollPlugin --version 1.1.2
#r "nuget: Expressium.LivingDoc.ReqnrollPlugin, 1.1.2"
#:package Expressium.LivingDoc.ReqnrollPlugin@1.1.2
#addin nuget:?package=Expressium.LivingDoc.ReqnrollPlugin&version=1.1.2
#tool nuget:?package=Expressium.LivingDoc.ReqnrollPlugin&version=1.1.2
Expressium LivingDoc
Expressium LivingDoc is an open-source tool that generates a single HTML test report in a Living Documentation style for ReqnRoll projects.
The report is built upon the Cucumber Messages format produced by ReqnRoll during the execution of Behavior-Driven Development (BDD) tests.
The final HTML test report may along with linked attachments be distributed to a public location enabling easy access by the stackholders.
<br /> <img src="ExpressiumLivingDoc.png" alt="Expressium LivingDoc" style="display: block; margin-left: auto; margin-right: auto; width: 80%;" />
How-To-Use
- Add the Expressium.LivingDoc.ReqnrollPlugin NuGet package to the ReqnRoll test project...
- Setup the Expressium formatters properties in the configuration of ReqnRoll test project...
- Run the tests in the ReqnRoll test project and open the HTML report in the output directory...
ReqnRoll Configuration
{
"$schema": "https://schemas.reqnroll.net/reqnroll-config-latest.json",
"formatters": {
"expressium": {
"outputFilePath": "LivingDoc.ndjson",
"outputFileTitle": "Expressium.Coffeeshop.Web.API.Tests"
}
}
}
Attachments Work-Around
Since the AddAttachment API in ReqnRoll doesn’t support adding attachments as links, we need to use a workaround to enable attachments in the Expressium LivingDoc report.
using Reqnroll;
namespace MyCompany.MyProject.Web.API.Tests
{
internal static class ReqnRollExtensions
{
internal static void AddAttachmentAsLink(this IReqnrollOutputHelper outputHelper, string path)
{
outputHelper.WriteLine($"[Attachment: {path}]");
}
}
}
Merge Test Reports
The ReqnRoll test execution may run across multiple pipelines and it is desirable to produce a single consolidated test report. A merging of test reports can be achieved through a separate CLI program. Only new and previously unknown features will be included during the merge process.
if (args.Length == 5 && args[0] == "--merge")
{
// Generating a LivingDoc Test Report based on Two Cucumber Messages JSON files...
Console.WriteLine("");
Console.WriteLine("Generating LivingDoc Test Report...");
Console.WriteLine("InputMaster: " + args[1]);
Console.WriteLine("InputSlave: " + args[2]);
Console.WriteLine("Output: " + args[3]);
Console.WriteLine("Title: " + args[4]);
var livingDocConverter = new LivingDocConverter();
livingDocConverter.Generate(new List<string>() { args[1], args[2] }, args[3], args[4]);
Console.WriteLine("Generating LivingDoc Report Completed");
Console.WriteLine("");
}
The LivingDoc Process
<br /> <img src="Process.png" alt="The Expressium LivingDoc Process" style="display: block; margin-left: auto; margin-right: auto; width: 80%;" />
The Expressium LivingDoc Process uses the Reqnroll PlugIn to capture test execution results and output them as Cucumber Messages (NDJSON). These messages are parsed into an object-oriented model, which the Generator transforms into a self-contained HTML LivingDoc Report.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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 was computed. 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. |
-
net8.0
- Expressium.LivingDoc (>= 1.1.2)
- Reqnroll.CustomPlugin (>= 3.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.