我有这的小应用程序。现在,我想通过.runsettings将所有Blazor页面排除在代码覆盖范围之外。这些页面位于/RaspiFanController/Pages/下面。我的测试使用的是NUnit,覆盖率计算使用的是盖子。
我已经尝试创建具有以下内容的文件/Tests/.runsettings:
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<!-- Configurations for data collectors -->
<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>
<Functions>
<Exclude>
<Function>.*Pages.*</Function>
</Exclude>
</Functions>
</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>不幸的是,代码覆盖率仍然包含Blazor页面--无论是在JetBrains骑士内部还是通过dotnet test --collect:"XPlat Code Coverage"。
编辑:我不一定要通过.runsettings解决这个问题。如果有可能通过csproj我也很好
发布于 2022-03-12 16:30:47
.runsettings文件必须如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<RunSettings>
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector friendlyName="XPlat code coverage">
<Configuration>
<ExcludeByFile>**/*.razor,</ExcludeByFile>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>在我的例子中,我必须显式地将这个文件传递给dotnet test,所以命令如下所示:
dotnet test --collect:"XPlat Code Coverage" --no-restore --settings coverlet.runsettings
不幸的是,JetBrains骑士/dotCover在计算代码覆盖率时不遵守这些设置。
https://stackoverflow.com/questions/71441256
复制相似问题