この記事は「Reqnroll × Playwrightで始めるE2Eテスト入門」シリーズの一部です。
Reqnroll LivingDocでテストレポートを作成する方法(.NET / Visual Studio)
BDD(Behavior Driven Development)では、テスト仕様とテスト結果をドキュメントとして共有することが重要です。
Reqnrollでは、BDDテストの結果をLiving Documentation形式のHTMLレポートとして出力する仕組みがあります。
その中でも、Expressium LivingDocというツールを使うと、Reqnrollのテスト結果を見やすい1つのHTMLレポートとして生成できます。
この記事では、.NET + Visual Studio環境でReqnroll LivingDocを使ってテストレポートを作成する方法を解説します。
参考
https://github.com/ExpressiumOSS/Expressium.LivingDoc
Expressium LivingDocとは
Expressium LivingDocは、Reqnrollプロジェクトのテスト結果をLiving Documentation形式のHTMLレポートとして生成するオープンソースツールです。
主な特徴は次の通りです。
- ReqnrollのBDDテスト結果をHTMLレポート化
- Feature / Scenario / Step単位で結果を表示
- 1つのHTMLファイルとして生成
- チームメンバーと共有しやすい
このレポートは、Reqnrollのテスト実行時に生成されるCucumber Messages形式のデータを元に作成されます。
そのため、BDDの仕様書 + テスト結果を同時に確認できるレポートになります。
LivingDocレポートのイメージ
LivingDocレポートでは、次のような情報を確認できます。
表示される主な情報
- Feature一覧
- Scenario一覧
- Stepの実行結果
- テスト成功 / 失敗の統計
- 実行時間
Feature → Scenario → Step の構造で表示されるため、
BDDテストの構造をそのまま可視化できます。
LivingDocレポート生成の流れ
Expressium LivingDocでレポートを作成する流れは次の通りです。
- NuGetパッケージを追加
- Reqnroll設定ファイルを変更
- テストを実行
- HTMLレポートを確認
NuGetパッケージを追加する
まず、Reqnrollテストプロジェクトにプラグインを追加します。
Visual StudioのNuGetパッケージマネージャーで次のパッケージを追加します。
Expressium.LivingDoc.ReqnrollPlugin

このプラグインは、Reqnrollのテスト実行結果をLivingDoc用データとして出力する役割を持っています。
Reqnroll設定ファイルを変更する
次に、Reqnrollの設定ファイルにLivingDocのフォーマッタを追加します。
reqnroll.json を作成または編集します。
{
"$schema": "https://schemas.reqnroll.net/reqnroll-config-latest.json",
"formatters": {
"expressium": {
"outputFilePath": "LivingDoc.ndjson",
"outputFileTitle": "Reqnroll Test Report"
}
}
}
設定項目の意味
| 設定 | 内容 |
|---|---|
| outputFilePath | テスト結果ファイル |
| outputFileTitle | レポートタイトル |
テスト実行時に、LivingDoc用のNDJSONファイルが生成されます。
テストを実行する
Visual Studioで通常通りテストを実行します。
方法
- Test Explorerで実行
dotnet test
テスト実行後、出力フォルダに次のファイルが生成されます。
LivingDoc.ndjson LivingDoc.html
このファイルには、BDDテストの実行結果(Cucumber Messages)が記録されています。
HTMLレポートを確認する
Expressium LivingDocでは、テスト結果を解析してHTMLレポートを生成します。
生成されたHTMLファイルのLivingDoc.htmlをブラウザで開くと、以下のように情報を確認できます。

添付ファイルをレポートに表示する
Expressium LivingDocでは、スクリーンショットなどの添付ファイルをリンクとして表示することも可能です。
次のような拡張メソッドを用意します。
using Reqnroll;
internal static class ReqnrollExtensions
{
internal static void AddAttachmentAsLink(
this IReqnrollOutputHelper outputHelper,
string path)
{
outputHelper.WriteLine($"[Attachment: {path}]");
}
}
この方法で、スクリーンショットなどのファイルをレポートから参照できます。
LivingDocのメリット
テスト仕様書として使える
Featureファイルの構造をそのまま表示するため、
BDDの仕様書としてそのまま利用できます。
チーム共有が簡単
LivingDocは単一HTMLファイルとして生成されるため、
- 社内ポータル
- CI/CD
- テスト成果物
として簡単に共有できます。
フィルタ検索が可能
LivingDocでは、URLパラメータを使って特定のシナリオをフィルタ表示することもできます。
例
LivingDoc.html?filterByKeywords=TA-3001
CIレポートやチケットと連携する場合にも便利です。
まとめ
ReqnrollでBDDテストを行う場合、LivingDocを使うことでテスト仕様と実行結果を分かりやすく可視化できます。
基本的な手順は次の通りです。
Expressium.LivingDoc.ReqnrollPluginを追加reqnroll.jsonにフォーマッタ設定を書く- テストを実行
- HTMLレポートを確認
LivingDocを使うことで、ReqnrollのBDDテストは
「実行できる仕様書(Living Documentation)」として活用できます。
Reqnrollでテストレポートを整備したい場合は、ぜひLivingDocを導入してみてください。
