如何从代码覆盖率中排除 .NET 6 Minimal API?

Tol*_*vic 9 .net c# .net-6.0

我维护一个类库,其中包含几个参考实现来演示如何使用该库。我有 .Net Framework、核心、.NET 5 的参考实现,现在我使用最少的 API 添加了 .NET 6 的参考实现。

对于我的所有其他参考实现,我已将ExcludeFromCodeCoverage属性 using添加System.Diagnostics.CodeAnalysis到它们的所有包含类中。我如何为 .NET 6 最小 API 做类似的事情?

我的program.cs看起来像这样:

using Microsoft.AspNetCore.Mvc;
using SharedDataLayer.Repositories;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddSingleton<PaymentRepository>();

var app = builder.Build();

app.MapGet("/Payments", ([FromServices] PaymentRepository repo) =>
{
    return repo.GetPayments();
});


app.Run();
Run Code Online (Sandbox Code Playgroud)

Mar*_*arn 0

我已经测试了最初问题的评论中的建议,并可以确认将以下内容添加到您的顶部program.cs确实有效,并且该文件已从代码覆盖率中排除:

using System.Diagnostics.CodeAnalysis;

[assembly: ExcludeFromCodeCoverage]
Run Code Online (Sandbox Code Playgroud)