Allure.Xunit 2.12.0

dotnet add package Allure.Xunit --version 2.12.0
NuGet\Install-Package Allure.Xunit -Version 2.12.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Allure.Xunit" Version="2.12.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Allure.Xunit --version 2.12.0
#r "nuget: Allure.Xunit, 2.12.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Allure.Xunit as a Cake Addin
#addin nuget:?package=Allure.Xunit&version=2.12.0

// Install Allure.Xunit as a Cake Tool
#tool nuget:?package=Allure.Xunit&version=2.12.0

Allure.Xunit

Nuget Nuget pre

Nuget downloads

An Allure adapter for xUnit.net.

<img src="https://allurereport.org/public/img/allure-report.svg" height="85px" alt="Allure Report logo" align="right" />


Allure Xunit supports the following frameworks:

  • .NET Core 3.1,
  • .NET 5.0 or greater.

Quick start

Install the Allure.Xunit package and run the tests normally. In many cases, allure should start automatically. The result files are created in the allure-results directory in the target directory. If that didn't happen, check out the Why the Allure results directory is empty? section.

Further readings

Learn more from the documentation for Allure Xunit.

Some examples are available here.

Notes

Namespaces consolidated to Allure.Xunit

Previously, the package contained a mix of Allure.Xunit and Allure.XUnit namespaces. Starting from 2.12.0, you should only use Allure.Xunit. The API is still accessible through the old namespace, but that access is deprecated now and will be removed in the future.

Deprecations and removals in 2.12.0

The following user API classes are now deprecated:

  • Allure.XUnit.Attachments - use Allure.Xunit.Attachments instead.
  • Attributes in Allure.XUnit.Attributes.Steps - use their counterparts from Allure.Xunit.Attributes.Steps.

The following previously deprecated user API classes and methods were removed:

  • Using-style steps/fixtures:

    • Allure.Xunit.AllureAfter
    • Allure.Xunit.AllureBefore
    • Allure.Xunit.AllureStep
    • Allure.Xunit.AllureStepBase

    Use the following alternatives instead:

    • Attributes from Allure.Xunit.Attributes.Steps ([AllureAfter], [AllureBefore], or [AllureStep])
    • Functions from Allure.Net.Commons.AllureApi and Allure.Net.Commons.ExtendedApi
  • Allure.Xunit.AllureAttachments - use Allure.Net.Commons.AllureApi.AddAttachment instead.

  • Allure.Xunit.Steps - use functions from Allure.Net.Commons.AllureApi and Allure.Net.Commons.ExtendedApi instead.

  • In Allure.Xunit.Attributes:

    • AllureXunitAttribute - use Xunit.FactAttribute instead.
    • AllureXunitTheoryAttribute - use Xunit.TheoryAttribute instead.
  • In Allure.Net.Commons.AllureLifecycle:

    • AddAttachment - use Allure.Net.Commons.AllureApi.AddAttachment instead.
    • AddScreenDiff - use Allure.Net.Commons.AllureApi.AddScreenDiff instead.
  • Allure.Net.Commons.Steps.CoreStepsHelper - use functions from Allure.Net.Commons.AllureApi and Allure.Net.Commons.ExtendedApi instead.

Allure.Xunit.StepExtensions deprecation

There is no more need to use separate Allure.XUnit.StepExtensions package. You should uninstall it and use attributes from Allure.Xunit.Attributes.Steps namespace directly.

Known issues and limitations

Rosetta is required for users on Mac with Apple silicon

If you're developing on a Mac machine with Apple silicon, make sure you have Rosetta installed. Follow this article for the instructions: https://support.apple.com/en-us/HT211861

You may also install Rosetta via the CLI:

/usr/sbin/softwareupdate --install-rosetta --agree-to-license

MonoMod.Core issues

We rely on Harmony that in turn uses MonoMod.Core to:

  1. Report arguments of theories in case they aren't reported by xUnit.net itself.
  2. Implement selectie run (test plans).

Those features are unavailable on ARM64 due to limitations of MonoMod.Core. Additionally, they might not work in some other rare circumstances.

Issue #369 contains some additional details.

Troubleshooting

Why the Allure results directory is empty?

If you run your tests, but there is no Allure results directory (or it's empty), xUnit.net may have preferred another reporter instead of allure.

You can force xUnit.net to select the right reporter by providing it to the runner. For xunit.runner.visualstudio, it could be done with the xUnit.ReporterSwitch run setting.

dotnet test <test-project-name> -- xUnit.ReporterSwitch=allure

Alternatively, you may provide that option via a .runsettings file:

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <xUnit>
    <ReporterSwitch>allure</ReporterSwitch>
  </xUnit>
</RunSettings>
dotnet test -s <path-to-runsettings> <test-project-name>

If you run the tests via an IDE, refer to that IDE's documentation to figure out how to provide a .runsettings file.

Check the test logs. If Allure.Xunit has run, the following entry should exist:

[xUnit.net 00:00:00.53] Allure reporter enabled

You might need to increase the verbosity level with --verbosity=detailed to see xUnit.net's logs.

How to run Allure.Xunit together with another reporter?

xUnit.net only uses one reporter per run. But Allure Xunit allows you to bypass that limitation. Learn more here.

How to use Allure Xunit in a CI environment?

A CI-specific reporter might be enabled in addition to Allure Xunit in some CI environments like Azure DevOps or TeamCity. The result is that both reporters become available to run. In such cases, xUnit.net may select any of them.

  • If xUnit.net selects Allure Xunit, the tests will be reported both to the CI server and as Allure results.
  • If a CI-specific reporter is selected, the tests will only be reported to the CI server.

To fix that, make sure that xUnit.net always picks Allure Xunit.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 is compatible. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Allure.Xunit:

Package Downloads
Allure.Xunit.StepExtensions

Allure.Xunit.StepAttribute

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.12.0 327 4/2/2024
2.11.0 20,881 11/29/2023
2.10.0 17,523 10/16/2023
2.10.0-preview.1 195 9/22/2023
2.9.5-preview.1 12,542 3/22/2023
2.9.4-preview.6 394 2/13/2023
2.9.4-preview.5 108 2/13/2023
2.9.4-preview.2 140 1/2/2023
2.9.4-preview.1 113 12/30/2022
2.9.3-preview.1 110 12/23/2022
2.9.2-preview.1 195 9/19/2022
2.9.1-preview.7-nunit-fixtures 253 8/2/2022
2.9.1-preview.6-nunit-fixtures 137 7/27/2022
2.9.1-preview.5 137 7/27/2022
2.9.1-preview.4 159 7/14/2022
2.9.1-preview.3 146 7/12/2022
2.9.1-preview.2 151 7/12/2022
2.1.3 56,407 6/9/2022
2.1.2 521 6/9/2022
2.1.1 1,582 4/7/2022
2.1.0 733 4/6/2022
2.0.1 44,654 11/10/2021
2.0.0 11,848 8/16/2021
1.1.4 610 6/18/2021
1.1.3 2,804 5/31/2021
1.1.2 4,829 4/27/2021
1.0.0 8,543 12/25/2020