VOOZH about

URL: https://www.nuget.org/packages/Allure.Xunit/

⇱ NuGet Gallery | Allure.Xunit 2.15.0




👁 Image
Allure.Xunit 2.15.0

Prefix Reserved
dotnet add package Allure.Xunit --version 2.15.0
 
 
NuGet\Install-Package Allure.Xunit -Version 2.15.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.15.0" />
 
 
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Allure.Xunit" Version="2.15.0" />
 
Directory.Packages.props
<PackageReference Include="Allure.Xunit" />
 
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Allure.Xunit --version 2.15.0
 
 
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Allure.Xunit, 2.15.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.
#:package Allure.Xunit@2.15.0
 
 
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Allure.Xunit&version=2.15.0
 
Install as a Cake Addin
#tool nuget:?package=Allure.Xunit&version=2.15.0
 
Install as a Cake Tool
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Allure.Xunit

👁 Nuget release
👁 Nuget downloads

An Allure adapter for xUnit.net.


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

New in 2.15.0: the common Attribute API

Use the attributes in Allure.Net.Commons.Attributes instead of Allure.Xunit.Attributes. Read more details here.

In most cases, the migration is straightforward:

- using Allure.Xunit.Attributes;
+ using Allure.Net.Commons.Attributes;
using Xunit;

[AllureFeature("My feature")]
public class MyTestClass
{
 [AllureStory("My story")]
 [Fact]
 public void MyTestMethod()
 {

 }
}

In some cases, the usage must be updated. Such cases are listed below.

[AllureFeature], [AllureStory] with multiple values

Use multiple [AllureFeature] or [AllureStory] attributes instead:

- using Allure.Xunit.Attributes;
+ using Allure.Net.Commons.Attributes;

-[AllureFeature("Feature 1", "Feature 2")]
+[AllureFeature("Feature 1")]
+[AllureFeature("Feature 2")]
-[AllureStory("Story 1", "Story 2")]
+[AllureStory("Story 1")]
+[AllureStory("Story 2")]
public class MyTestClass
{
}
[AllureLink], [AllureIssue]

Pass the URL or ID as the only positional argument. Use the Title property to pass the display text:

- using Allure.Xunit.Attributes;
+ using Allure.Net.Commons.Attributes;

-[AllureLink("Homepage", "https://allurereport.org")]
+[AllureLink("https://allurereport.org", Title = "Homepage")]
-[AllureIssue("ISSUE-123", "123")]
+[AllureIssue("123", Title = "ISSUE-123")]
public class MyTestClass
{
}
[AllureSeverity]

Always pass an explicit value as the argument:

- using Allure.Xunit.Attributes;
+ using Allure.Net.Commons.Attributes;

-[AllureSeverity]
+[AllureSeverity(SeverityLevel.normal)]
public class MyTestClass
{
}
[Name] and [Skip]

Use [AllureParameter] with Name and Ignore correspondingly:

- using Allure.Xunit.Attributes.Steps;
+ using Allure.Net.Commons.Attributes;

public class MyTestClass
{
 [AllureStep]
 public void MyStepMethod(
- [Name("Foo")] int parameter1,
+ [AllureParameter(Name = "Foo")] int parameter1,
- [Skip] int parameter2
+ [AllureParameter(Ignore = true)] int parameter2
 )
 {
 }
}
[AllureId]

Pass an integer value instead of a string:

- using Allure.Xunit.Attributes;
+ using Allure.Net.Commons.Attributes;
using Xunit;

public class MyTestClass
{
 [Fact]
- [AllureId("102")]
+ [AllureId(102)]
 public void MyTestMethod()
 {
 }
}
The Overwrite argument

The new attributes don't have an equivalent of the overwrite argument that removes the existing metadata. You should rearrange the attributes to avoid duplicates:

-using Allure.Xunit.Attributes;
+using Allure.Net.Commons.Attributes;
using Xunit;

-[AllureEpic(["Epic 1"], true)]
public class TestClass
{
 [Fact]
- [AllureEpic(["Epic 2"], true)]
+ [AllureEpic("Epic 2")]
 public void Test1()
 {

 }

 [Fact]
- [AllureEpic(["Epic 3"], true)]
+ [AllureEpic("Epic 3")]
 public void Test1()
 {

 }
}
Deprecation notice

Attributes from the Allure.Xunit.Attributes namespace will be deprecated in one of the future releases. Please, migrate to Allure.Net.Commons.Attributes.

New in 2.12.0: 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 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:

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

Those features might not work in some rare circumstances, especially when testing the Release configuration. If you're affected, try switching to Debug as a workaround.

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.Xunit: Allure reporter enabled

If you don't see xUnit.net logs, try increasing the verbosity level to normal or detailed:

dotnet test --logger 'console;verbosity=normal'

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

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 (1)

Showing the top 1 popular GitHub repositories that depend on Allure.Xunit:

Repository Stars
DataDog/dd-trace-dotnet
.NET Client Library for Datadog APM
Version Downloads Last Updated
2.15.0 23,040 4/28/2026
2.14.1 183,447 10/21/2025
2.14.0 2,324 10/16/2025
2.13.0 29,872 10/9/2025
2.12.1 483,061 6/4/2024
2.12.0 37,756 4/2/2024
2.11.0 131,971 11/29/2023
2.10.0 25,113 10/16/2023
2.10.0-preview.1 313 9/22/2023
2.9.5-preview.1 13,644 3/22/2023
2.9.4-preview.6 947 2/13/2023
2.9.4-preview.5 314 2/13/2023
2.9.4-preview.2 355 1/2/2023
2.9.4-preview.1 305 12/30/2022
2.9.3-preview.1 294 12/23/2022
2.9.2-preview.1 428 9/19/2022
2.9.1-preview.7-nunit-fixtures 533 8/2/2022
2.9.1-preview.6-nunit-fixtures 315 7/27/2022
Loading failed