从代码覆盖率中删除 c__DisplayClass
Remove c__DisplayClass from code coverage
我的代码覆盖率分析中出现 c__DisplayClass 个文件,这些文件似乎是从闭包自动生成的代码(参见 this link)。
我的问题是,如何从代码覆盖结果中删除这个自动生成的代码?
经过一些研究,我发现您可以使用 .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>
注意 <
和 >
是三角括号 <
和 >
所以这应该(根据我的经验)覆盖覆盖结果中的所有自动生成的代码.
我的代码覆盖率分析中出现 c__DisplayClass 个文件,这些文件似乎是从闭包自动生成的代码(参见 this link)。
我的问题是,如何从代码覆盖结果中删除这个自动生成的代码?
经过一些研究,我发现您可以使用 .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>
注意 <
和 >
是三角括号 <
和 >
所以这应该(根据我的经验)覆盖覆盖结果中的所有自动生成的代码.