我有这个类AspNetCoreGenerateDocument.Views_Users__AddOrUpdateUser出现在Views文件夹中每个视图的代码覆盖率结果中,
示例: AspNetCoreGenerateDocument.Views_Users__AddOrUpdateUser AspNetCoreGenerateDocument.Views_Users__GetUser 等等...
组装:解决方案.Web 类:AspNetCore生成文档
我想使用 .runsettings 文件排除此文件夹:
<?xml version="1.0" encoding="utf-8" ?>
<RunSettings>
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector friendlyName="XPlat code coverage">
<Configuration>
<!-- Globbing filter -->
<ExcludeByFile>**/Solution.Web/Views/*.cshtml</ExcludeByFile>
<IncludeTestAssembly>false</IncludeTestAssembly>
<DeterministicReport>false</DeterministicReport>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>
我已经能够从源中排除所有 AspNetCoreGenerateDocument 文件,不包括预编译视图 (cshtml):
<?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>
<ModulePath>.*whatever.dll</ModulePath>
<ModulePath>.*whatever2.dll</ModulePath>
</Include>
</ModulePaths>
<Sources>
<Exclude>
<Source>.*cshtml.*</Source>
</Exclude>
</Sources>
<!-- We recommend you do not change the following values: -->
<!-- Set this to True to collect coverage information for functions marked with the "SecuritySafeCritical" attribute. Instead of writing directly into a memory location from such functions, code coverage inserts a probe that redirects to another function, which in turns writes into memory. -->
<UseVerifiableInstrumentation>True</UseVerifiableInstrumentation>
<!-- When set to True, collects coverage information from child processes that are launched with low-level ACLs, for example, UWP apps. -->
<AllowLowIntegrityProcesses>True</AllowLowIntegrityProcesses>
<!-- When set to True, collects coverage information from child processes that are launched by test or production code. -->
<CollectFromChildProcesses>True</CollectFromChildProcesses>
<!-- When set to True, restarts the IIS process and collects coverage information from it. -->
<CollectAspDotNet>False</CollectAspDotNet>
<!-- When set to True, static native instrumentation will be enabled. -->
<EnableStaticNativeInstrumentation>True</EnableStaticNativeInstrumentation>
<!-- When set to True, dynamic native instrumentation will be enabled. -->
<EnableDynamicNativeInstrumentation>True</EnableDynamicNativeInstrumentation>
<!-- When set to True, instrumented binaries on disk are removed and original files are restored. -->
<EnableStaticNativeInstrumentationRestore>True</EnableStaticNativeInstrumentationRestore>
</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>
.runsettings 文档的其余部分与文档相同:doc
<ExcludeByFile>**/*.cshtml</ExcludeByFile>
所以@KA-Yasso 代码部分有效。
它不会排除 Views 文件夹中的所有 .cshtml 文件。
它仅排除 Views 文件夹根级别的 .cshtml 文件,例如 _ViewStart.cshtml。
它不会排除他实际上想要排除的文件,例如 Views/Users/AddOrUpdateUser.cshtml。
@red 的答案不适用于封面,它不起作用,.runsettings.xml 文件结构不同。
<ExcludeByFile>**/*.cshtml</ExcludeByFile>
<ExcludeByFile>**/MainApp.MVC/Views/*.cshtml,**/MainApp.MVC/Views/**/*.cshtml</ExcludeByFile>
<ExcludeByFile>**/MainApp.MVC/Areas/Common/Views/*.cshtml,**/MainApp.MVC/Common/Views/**/*.cshtml</ExcludeByFile>