【发布时间】:2015-07-22 16:00:02
【问题描述】:
我的代码覆盖率分析中出现了 c__DisplayClass 文件,这些文件似乎是闭包自动生成的代码(请参阅 this link)。
我的问题是,如何从代码覆盖结果中删除这个自动生成的代码?
【问题讨论】:
标签: c# visual-studio unit-testing code-coverage
我的代码覆盖率分析中出现了 c__DisplayClass 文件,这些文件似乎是闭包自动生成的代码(请参阅 this link)。
我的问题是,如何从代码覆盖结果中删除这个自动生成的代码?
【问题讨论】:
标签: c# visual-studio unit-testing code-coverage
经过一番研究,我发现您可以使用 .runsettings 文件 (documentation)。
您可以在此文件中自定义代码覆盖率结果,如下所示:
<CodeCoverage>
<ModulePaths>
<Exclude></Exclude>
</ModulePaths>
<Functions>
<Exclude>
<Function>.*c__DisplayClass.*</Function>
</Exclude>
</Functions>
</CodeCoverage>
这给了我想要的结果。结果中排除了所有自动生成的 c__DisplayClass 函数。
【讨论】:
为了补充 Anthony 的出色回答,我有很多自动生成的垃圾,可以使用以下 .runsettings 文件巧妙地隐藏:
<CodeCoverage>
<ModulePaths>
<Exclude></Exclude>
</ModulePaths>
<Functions>
<Exclude>
<Function>.*<*>.*</Function>
</Exclude>
</Functions>
</CodeCoverage>
请注意,&lt; 和 &gt; 是三角括号 < 和 >,因此(根据我的经验)这应该涵盖覆盖结果中所有自动生成的代码。
【讨论】: