You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于.NET 6.0 XUnit生成Allure测试报告?

基于.NET 6.0 XUnit生成Allure测试报告的实操步骤

1. 安装依赖NuGet包

直接通过dotnet CLI或NuGet包管理器安装Allure对XUnit的适配包:

dotnet add package Allure.Xunit
dotnet add package Allure.Commons

2. 配置Allure参数

在测试项目根目录新建allureConfig.json文件,填入基础配置:

{
  "allure": {
    "directory": "allure-results",
    "title": ".NET 6 XUnit测试报告",
    "clean": true
  }
}

记得将该文件的复制到输出目录属性设置为「如果较新则复制」,保证测试运行时能读取到配置。

3. 编写带Allure标记的测试用例

在测试类和方法上添加Allure特性,用于分类和描述测试内容,示例代码:

using Xunit;
using Allure.Xunit;
using Allure.Xunit.Attributes;

[AllureSuite("订单模块测试")]
public class OrderTests
{
    [Fact]
    [AllureStory("创建订单")]
    [AllureDescription("验证正常创建支付订单的流程")]
    public void CreateOrder_Success()
    {
        // 测试逻辑示例
        var order = new Order { Id = "ORD001", Amount = 99.9m };
        Assert.Equal("ORD001", order.Id);
    }

    [Fact]
    [AllureStory("取消订单")]
    [AllureDescription("验证取消已支付订单的场景")]
    public void CancelPaidOrder_Failed()
    {
        // 测试逻辑示例
        var result = OrderService.CancelOrder("ORD002");
        Assert.False(result);
    }
}

还可以通过AllureApi.Step()添加测试步骤,让报告更清晰:

[Fact]
[AllureStory("查询订单")]
public void QueryOrder_DetailsMatch()
{
    AllureApi.Step("1. 构造查询参数");
    var queryParam = new OrderQuery { OrderId = "ORD001" };

    AllureApi.Step("2. 调用查询接口");
    var order = OrderService.QueryOrder(queryParam);

    AllureApi.Step("3. 验证返回结果");
    Assert.NotNull(order);
    Assert.Equal(99.9m, order.Amount);
}

4. 生成Allure原始结果文件

运行XUnit测试,Allure会自动在项目输出目录生成allure-results文件夹,里面是JSON格式的测试结果:

dotnet test --configuration Release

如果测试正常执行,allure-results里会出现对应数量的结果文件。

5. 生成并查看Allure可视化报告

首先需要安装Allure命令行工具(确保添加到系统环境变量),然后执行以下命令:

  • 生成静态报告:
allure generate allure-results -o allure-report --clean
  • 启动本地服务查看报告:
allure open allure-report

执行后会自动打开浏览器,展示包含测试统计、用例详情、步骤记录的美观Allure报告。

常见问题

  • 如果allure-results为空:检查测试是否正常运行,allureConfig.json是否正确复制到输出目录;
  • 报告显示异常:确保Allure命令行工具版本与NuGet包版本兼容,建议使用最新稳定版;
  • 需添加附件:可以用AllureApi.AddAttachment()方法添加截图、日志等附件,丰富报告内容。

内容的提问来源于stack exchange,提问作者Mufasa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 14:54:15