Allure.Xunit
2.12.1
dotnet add package Allure.Xunit --version 2.12.1
NuGet\Install-Package Allure.Xunit -Version 2.12.1
<PackageReference Include="Allure.Xunit" Version="2.12.1" />
paket add Allure.Xunit --version 2.12.1
#r "nuget: Allure.Xunit, 2.12.1"
// Install Allure.Xunit as a Cake Addin #addin nuget:?package=Allure.Xunit&version=2.12.1 // Install Allure.Xunit as a Cake Tool #tool nuget:?package=Allure.Xunit&version=2.12.1
Allure.Xunit
An Allure adapter for xUnit.net.
- Learn more about Allure Report at https://allurereport.org
- 📚 Documentation – discover official documentation for Allure Report
- ❓ Questions and Support – get help from the team and community
- 📢 Official announcements – stay updated with our latest news and updates
- 💬 General Discussion – engage in casual conversations, share insights and ideas with the community
- 🖥️ Live Demo — explore a live example of Allure Report in action
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
- useAllure.Xunit.Attachments
instead.- Attributes in
Allure.XUnit.Attributes.Steps
- use their counterparts fromAllure.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
andAllure.Net.Commons.ExtendedApi
Allure.Xunit.AllureAttachments
- useAllure.Net.Commons.AllureApi.AddAttachment
instead.Allure.Xunit.Steps
- use functions fromAllure.Net.Commons.AllureApi
andAllure.Net.Commons.ExtendedApi
instead.In
Allure.Xunit.Attributes
:AllureXunitAttribute
- useXunit.FactAttribute
instead.AllureXunitTheoryAttribute
- useXunit.TheoryAttribute
instead.
In
Allure.Net.Commons.AllureLifecycle
:AddAttachment
- useAllure.Net.Commons.AllureApi.AddAttachment
instead.AddScreenDiff
- useAllure.Net.Commons.AllureApi.AddScreenDiff
instead.
Allure.Net.Commons.Steps.CoreStepsHelper
- use functions fromAllure.Net.Commons.AllureApi
andAllure.Net.Commons.ExtendedApi
instead.
Allure.Xunit.StepExtensions deprecation
There is no more need to use the separate Allure.XUnit.StepExtensions package.
You should uninstall it and use attributes from the
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 (which in turn uses MonoMod.Core) to:
- Report arguments of theories in case they aren't reported by xUnit.net itself.
- 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 allure
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 | Versions 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. |
-
.NETCoreApp 3.1
- Allure.Net.Commons (>= 2.12.1)
- Lib.Harmony (>= 2.3.3)
- xunit.assert (>= 2.4.1)
- xunit.core (>= 2.4.1)
- xunit.runner.utility (>= 2.4.1)
-
.NETStandard 2.0
- Allure.Net.Commons (>= 2.12.1)
- Lib.Harmony (>= 2.3.3)
- xunit.assert (>= 2.4.1)
- xunit.core (>= 2.4.1)
- xunit.runner.utility (>= 2.4.1)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Allure.Xunit:
Package | Downloads |
---|---|
Allure.Xunit.StepExtensions
Allure.Xunit.StepAttribute |
|
TiendaOnline
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.12.1 | 26,632 | 6/4/2024 |
2.12.0 | 11,674 | 4/2/2024 |
2.11.0 | 82,835 | 11/29/2023 |
2.10.0 | 23,546 | 10/16/2023 |
2.10.0-preview.1 | 211 | 9/22/2023 |
2.9.5-preview.1 | 12,805 | 3/22/2023 |
2.9.4-preview.6 | 420 | 2/13/2023 |
2.9.4-preview.5 | 129 | 2/13/2023 |
2.9.4-preview.2 | 161 | 1/2/2023 |
2.9.4-preview.1 | 127 | 12/30/2022 |
2.9.3-preview.1 | 126 | 12/23/2022 |
2.9.2-preview.1 | 229 | 9/19/2022 |
2.9.1-preview.7-nunit-fixtures | 293 | 8/2/2022 |
2.9.1-preview.6-nunit-fixtures | 149 | 7/27/2022 |
2.9.1-preview.5 | 157 | 7/27/2022 |
2.9.1-preview.4 | 172 | 7/14/2022 |
2.9.1-preview.3 | 166 | 7/12/2022 |
2.9.1-preview.2 | 169 | 7/12/2022 |
2.1.3 | 66,805 | 6/9/2022 |
2.1.2 | 577 | 6/9/2022 |
2.1.1 | 1,636 | 4/7/2022 |
2.1.0 | 803 | 4/6/2022 |
2.0.1 | 46,756 | 11/10/2021 |
2.0.0 | 14,595 | 8/16/2021 |
1.1.4 | 662 | 6/18/2021 |
1.1.3 | 2,858 | 5/31/2021 |
1.1.2 | 4,883 | 4/27/2021 |
1.0.0 | 8,622 | 12/25/2020 |