gpt4 book ai didi

C# 9/10 顶级语句和 ExcludeFromCodeCoverage-Attribute?

转载 作者:行者123 更新时间:2023-12-05 01:04:33 27 4
gpt4 key购买 nike

我通常将属性 [ExcludeFromCodeCoverage] 设置为我的 Program 类,因为无论如何都不可能对此类进行单元测试(或者也没有意义),所以它不显示在报道报告中被列为“失踪”:

[ExcludeFromCodeCoverage]
public static class Program
{
public static void Main(string[] args)
{
// do something awesome
}
}

但是对于 top-level statements我不知道如何处理这个。正如我在这里发现的那样,似乎无法设置属性:https://stackoverflow.com/a/69962982/1099519

到目前为止,我坚持使用经典的 Class declaration,但在单元测试代码覆盖率方面,也许他们考虑了其他东西?

最佳答案

从 C# 10 开始,顶级语句生成发生了变化,现在您可以将 partial Program 类添加到顶级语句的末尾并为其添加属性:

[ExcludeFromCodeCoverage]
public partial class Program { }

请注意,在初始功能规范中(针对 C# 9)states编译器使用的实际名称取决于实现,但由于使用部分类的 C# 10 和 NET 6 是 unit testing 的推荐方法之一使用顶级语句的 ASP.NET Core 应用程序。

但我个人会说,如果您需要这种“高级”场景,您应该切换回“普通旧”Program 类。

关于C# 9/10 顶级语句和 ExcludeFromCodeCoverage-Attribute?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72010668/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com