スポンサーリンク

Reqnroll LivingDoc: Generate BDD Test Reports in .NET

This article is part of the “Introduction to E2E Testing with Reqnroll × Playwright” series.

Reqnroll LivingDoc: Generate BDD Test Reports in .NET

If you want to turn your BDD tests into shareable documentation, Reqnroll LivingDoc is one of the best options. It lets you generate a single HTML report that combines test scenarios and execution results—making it ideal for teams.

This guide explains how to generate Living Documentation reports using Reqnroll in a .NET / Visual Studio environment.

reference:
https://github.com/ExpressiumOSS/Expressium.LivingDoc

What Is Reqnroll LivingDoc?

Reqnroll LivingDoc is a reporting approach that converts BDD test results into human-readable HTML documentation.

By using tools like Expressium LivingDoc, you can:

  • Generate a single HTML report from test results
  • View Feature / Scenario / Step execution
  • Share reports easily with your team
  • Combine specifications and results in one place

Unlike basic test reports, LivingDoc acts as executable documentation.

Key Features of LivingDoc

Unified Test Documentation

LivingDoc shows your BDD structure as-is:

  • Features
  • Scenarios
  • Steps

This makes it easy to understand both the intent and the results of your tests.

Easy Sharing

The report is generated as a single HTML file, so you can:

  • Upload it to a CI/CD pipeline
  • Share it internally
  • Attach it to test reports

Based on Cucumber Messages

Reqnroll outputs test results in Cucumber Messages format, which LivingDoc uses to build the report.

What the LivingDoc Report Includes

The generated HTML report typically contains:

  • Feature list
  • Scenario list
  • Step execution results
  • Pass / Fail status
  • Execution time

The structure follows:

Feature → Scenario → Step

This mirrors your BDD test design, making it intuitive to navigate.

How to Generate a LivingDoc Report

Step 1: Install the NuGet Package

Add the following package to your Reqnroll test project:

  • Expressium.LivingDoc.ReqnrollPlugin

This plugin exports test results in a format compatible with LivingDoc.

Step 2: Configure reqnroll.json

Create or update a reqnroll.json file in your project root:

{
"$schema": "https://schemas.reqnroll.net/reqnroll-config-latest.json",
"formatters": {
"expressium": {
"outputFilePath": "LivingDoc.ndjson",
"outputFileTitle": "Reqnroll Test Report"
}
}
}

Configuration Explanation

  • outputFilePath: Output file for test results (NDJSON format)
  • outputFileTitle: Title of the generated report

Step 3: Run Tests

Execute your tests as usual:

dotnet test

After execution, the following files will be generated:

  • LivingDoc.ndjson
  • LivingDoc.html

Step 4: Open the HTML Report

Open LivingDoc.html in your browser to view the report.

You’ll see a structured view of your test execution results.

※The original article is in Japanese, so the images are in Japanese.

Adding Attachments (Optional)

You can also include attachments such as screenshots.

Create a helper extension:

using Reqnroll;

internal static class ReqnrollExtensions
{
internal static void AddAttachmentAsLink(
this IReqnrollOutputHelper outputHelper,
string path)
{
outputHelper.WriteLine($"[Attachment: {path}]");
}
}

This allows you to reference files (like screenshots) directly in the report.

Filtering Scenarios

LivingDoc supports filtering via URL parameters.

Example:

LivingDoc.html?filterByKeywords=TEST-123

This is useful when:

  • Linking test cases to tickets
  • Reviewing specific scenarios
  • Debugging failures

Benefits of Using LivingDoc

Use Tests as Documentation

LivingDoc turns your BDD tests into readable specifications.

No need for separate documentation.

Improve Team Communication

Non-developers can easily understand:

  • What is tested
  • What passed or failed

Better Visibility in CI/CD

LivingDoc works well in:

  • CI pipelines
  • Automated test reports
  • QA dashboards

Summary

Reqnroll LivingDoc is a powerful way to visualize BDD test results.

Key takeaways:

  • Generates HTML reports from test execution
  • Uses Cucumber Messages as input
  • Easy setup via reqnroll.json
  • Ideal for sharing and documentation

If you’re using Reqnroll for BDD testing, adding LivingDoc will help you turn tests into clear, maintainable, and shareable documentation.