【问题标题】:exclude code coverage for ef core migration files排除 ef 核心迁移文件的代码覆盖率
【发布时间】:2022-06-15 12:33:49
【问题描述】:

我想从代码覆盖率计算中排除所有自动生成的迁移文件。我无法更改构建管道中的dotnet test 命令,所以我想我唯一的朋友是[ExcludeFromCodeCoverage] 属性。

棘手的部分是,每次添加新迁移时,我都需要手动查看所有生成的文件并确保我在所有生成的类上都有 [ExcludeFromCodeCoverage] 属性,这很好,但我想知道是否有更好的解决方案可以一劳永逸吗?

迁移文件

[ExcludeFromCodeCoverage] // Manually added everytime
partial class Initial : Migration

还有 ModelSnapshot 文件

[ExcludeFromCodeCoverage] // This gets removed everytime snapshot is updated
[DbContext(typeof(MyContext))]
partial class MyContextModelSnapshot : ModelSnapshot

对于快照文件,由于类名始终相同,我可以创建一个单独的文件MyContextModelSnapshot.CodeCoverage.cs 文件并将属性放在部分类上,但是对于迁移文件有解决方案吗?

如果重要的话,我正在与coverlet.msbuild 合作。

【问题讨论】:

  • this 有帮助吗?
  • 我猜这需要在dotnet test 命令中添加一个新参数? dotnet test -s codecoverage.runsettings?或者codecoverage.runsettings 是一个默认会被选中的神奇文件名?

标签: c# entity-framework-core nunit code-coverage coverlet


【解决方案1】:

dotnet test /p:CollectCoverage=true /p:excludebyfile="**/Migrations/.cs"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    相关资源
    最近更新 更多