Allure は複数言語に対応したテストレポート作成ツールです。
.NETにも対応しており、単体テスト(MsTest/NUnit/xUnit.NET等)の出力から
以下のようなHTMLレポートを作成することができます。
参考情報:
- 公式サイト (http://allure.qatools.ru/)
- ドキュメント (https://allure-framework.github.io/allure-docs/latest/)
- GitHubレポジトリ (https://github.com/allure-framework/allure2)
以下、.NETのプロジェクトでAllureを利用する手順について記載します。
AllureはJavaで作られているため、JREが事前にインストールされていることを前提とします。
Scoop(http://scoop.sh)を使用してAllureのをインストールする場合は以下のコマンドを実行してください。
scoop install allure
テストを実行して、レポート用のデータファイルを作成します。
Allureはプラグインの仕組みで複数の入力データ形式に対応しているので
使用するテストフレームワークに対応した方式を選択してください。
dotnet test
コマンドを使用してテストを実行する場合は以下の手順を実行してください。
- ソリューション or テストプロジェクトをカレントディレクトリに設定する。
- 以下のコマンドを実行してテストを実行する。
dotnet test --logger:trx
TestResults
フォルダ配下にテスト結果ファイル(.trx)が出力されることを確認する。
テストフレームワークとしてxUnit.NETを使用している場合は
dotnet xunit
コマンドを使用することが可能です。
- テストプロジェクトの.csprojに以下の設定を追加する。
<ItemGroup>
<DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
</ItemGroup>
- テストプロジェクトをカレントディレクトリに設定する。
- 以下のコマンドを実行してテストを実行する。
dotnet xunit -xml TestResults\results.xml
TestResults
フォルダ配下にテスト結果ファイル(.xml)が出力されることを確認する。
allure generate
コマンドを使用してレポートを作成します。
- 以下のコマンドを実行する。
allure generate TestResults --clean
allure-report
配下にレポートが作成されることを確認する。
allure open
コマンドを実行することで、ブラウザでレポートが表示されます。
- trx plugin/xUnit XML plugin 両方試してみたが、どちらも日付が正常に表示されない(ロケールの問題?)
- Trend/Historyの情報が作成されない。
dotnet test
コマンドを使用する場合 xUnit.NETのXMLを出力指定ができない。dotnet xunit
だとソリューションを対象としたテスト実行ができない。
(DotNetCliToolはプロジェクト単位の設定のため)