我正在尝试从代码覆盖率分析中排除单元测试项目/文件夹,因为这会夸大代码覆盖率。
我有不同的层/项目和单元测试项目。如下所示。
Solution
DataAccess
Business
Service
Model
Test.DataAccess
Test.Business
Test.Service
Test.Model
如何排除名称/路径中带有“ Test。*”的任何文件夹/项目?我想排除那些文件夹中的所有内容。
我已经尝试了以下模式(以及许多其他模式):
**\*Test.*\*
*Test.*\*
Test.*\*
**/*Test.*/*
*Test.*/*
Test.*/*
我无法排除单元测试文件。似乎无法识别目录名称中的通配符。
答案 0 :(得分:1)
我们遇到了类似的问题,我提到了要使用的文件名模式而不是文件夹名。因此,我们拥有以test.cs或tests.cs结尾的单元测试文件名。所以我加了
**/*Tests.cs
**/*Test.cs
它就像一种魅力!
答案 1 :(得分:0)
正如@ G.Ann-SonarSourceTeam和@ Isaiah4110所说,更好的解决方案是让sonarQube一起排除测试项目。我不确定为什么在我们的案例中默认情况下不会发生这种情况,但是我们的解决方案是将“ SonarQubeTestProject”属性添加到* .csproj文件中。
<PropertyGroup>
<SonarQubeTestProject>true</SonarQubeTestProject>
</PropertyGroup>