【发布时间】: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