我正在尝试使用以下命令为我的一个项目生成覆盖率报告:
dotnet test "testproject.csproj" /p:CollectCoverage=true /p:CoverletOutputFormat=\"cobertura,lcov\" /p:CoverletOutput="D:\coverage" --settings "runsettings.Runsettings"我在我的runsettings.Runsettings文件中给出了以下设置:
<CodeCoverage>
<ModulePaths>
<Include>
<ModulePath>.*WCController.dll</ModulePath>
</Include>
</ModulePaths>
<!-- We recommend you do not change the following values: -->
<UseVerifiableInstrumentation>False</UseVerifiableInstrumentation>
<AllowLowIntegrityProcesses>True</AllowLowIntegrityProcesses>
<CollectFromChildProcesses>True</CollectFromChildProcesses>
<CollectAspDotNet>False</CollectAspDotNet>
</CodeCoverage>但当我运行此命令时,它显示

正如您所看到的,我指定只包含*WCController.dll程序集,但它仍然显示了其他程序集的复盖范围。
请帮我找出这个问题的确切原因,因为我不希望在我的覆盖报告中有任何其他的程序集。
发布于 2020-08-19 21:21:38
您可以在“include”之后添加"exclude“块。如下所示:
<ModulePaths>
<Include>
<ModulePath>.*WCController.dll</ModulePath>
</Include>
<Exclude>
<ModulePath>.*WCController.*.dll</ModulePath>
<ModulePath>.*WCControllerTests.*.dll</ModulePath>
...
</Exclude>
</ModulePaths>https://stackoverflow.com/questions/62710466
复制相似问题