【发布时间】:2014-12-04 18:10:04
【问题描述】:
在我正在处理的项目中,如果我没有在 runsettings 文件中明确排除它们,则代码覆盖范围内包含两个 nuget 包,而其他第三方库则没有。
这似乎是因为有问题的包在构建时会在单元测试项目的bin文件夹中生成一个PDB文件。
为什么有些软件包有 PDB 文件,而有些则没有?有没有办法在没有 PDB 的情况下获取 NuGet 包?
有没有办法将第三方库排除在代码覆盖范围之外?
【问题讨论】:
-
如果您不想对这些 PDB 进行覆盖检测,您就不能删除或重命名这些 PDB 吗?
-
Nuget 包不生成文件,它们包含文件。如果开发人员决定在给定的包中分发 PDB 文件,这就是您所得到的。正如您所说可以排除它们,您要解决什么问题?
-
@500-InternalServerError 绝对是,但是在构建测试项目时(在一组测试运行之前),它们会被重新创建......
-
@BenRobinson 在我们测量代码覆盖率的项目中(不要问为什么),可以这么说,这些会弄乱统计数据。我不希望这成为每个 nuget 包添加的额外可能任务。很高兴知道它们是否包含在包装中。现在我知道运行设置文件可能是实现这一目标的唯一方法。
-
你应该在这里认真地重新考虑你的问题的标题。请注意,您最终在 OP 末尾提出的问题根本不是标题所暗示的。您似乎还在那里问了两个问题,所以我也考虑将您的问题分成两个。
标签: c# visual-studio unit-testing code-coverage pdb-files