我想从 ADO 中的覆盖率报告代码中排除 MVC View (即具有 C# 代码的 cshtml
文件)。
我尝试过的是:
将
[ExcludeFromCodeCoverage]
属性添加到cshtml
。在
runsettings
文件中添加对*.Views
程序集的排除:<ModulePath>.*Views.*</ ModulePath>
都没有效果。有什么办法可以实现这一点吗?
最佳答案
一旦我能够识别 runsettings
文件 ( https://learn.microsoft.com/en-us/visualstudio/test/configure-unit-tests-by-using-a-dot-runsettings-file?msclkid=14b6671abb6811ec9283acde13b7ff4e&view=vs-2022#specify-a-run-settings-file-in-the-ide ),我就可以使用它来排除正在预编译的 View :
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector friendlyName="Code Coverage" uri="datacollector://Microsoft/CodeCoverage/2.0" assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Configuration>
<CodeCoverage>
<ModulePaths>
<Include>
<!-- Make sure we include all the project source -->
<ModulePath>.*your.project.library.name.dll</ModulePath>
<ModulePath>.*your.project.name.dll</ModulePath>
</Include>
</ModulePaths>
<Sources>
<Exclude>
<Source>.*cshtml.*</Source> <!-- Ignore the pre-compiled views for code coverage -->
</Exclude>
</Sources>
<!-- We recommend you do not change the following values: -->
<UseVerifiableInstrumentation>True</UseVerifiableInstrumentation>
<AllowLowIntegrityProcesses>True</AllowLowIntegrityProcesses>
<CollectFromChildProcesses>True</CollectFromChildProcesses>
<CollectAspDotNet>False</CollectAspDotNet>
</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>
关于c# - 如何从代码覆盖率中排除 MVC Razor View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71660331/