通过将其添加到POM文件的标签中,我已经可以排除具有声纳立方体报告的类。
<properties>
<java.version>1.8</java.version>
<sonar.exclusions>
/src/main/java/com/example/org/test/mainpackage/message/**/*
,
/src/main/java/com/example/org/test/mainpackage/security/jwt/**/*
,
/src/main/java/com/example/org/test/mainpackage/security/services/**/*
,
/src/main/java/com/example/org/test/mainpackage/controller/AuthRestAPIs.java
,
/src/main/java/com/example/org/test/mainpackage/controller/TestRestAPIs.java
</sonar.exclusions>
</properties>
但是,在本地运行以测试代码覆盖率的相同代码根本无法正常工作。
我在哪里使用Maven和Spring Boot进行编程设置?
我已经可以通过
排除我想要的课程设置>构建,执行,部署>排除> [要分类的类 排除]
或通过
编辑配置>选择代码覆盖率选项卡>然后添加 我想被排除或仅包含在代码中的包或类 覆盖率报告。
我想要对要排除的类进行编码,即像在pom文件中那样排除声纳qube的代码。
简而言之。我该如何以编程方式执行此操作?。
之所以我以编程方式想要这样做的原因是,我从代码覆盖率中排除了文件的报告的上述两个步骤是,我可以将其推送到存储库中的所有项目都没有包含文件,因此我为排除项所做的更改将反映在所有将从git存储库中拉出的人员中。没有添加任何文件或配置,我可以在仓库中推送和反映所有内容。这意味着我的排除项仅适用于本地,不适用于其他人。对?。因此,我在这里要求一种编程方式,例如将排除项放入POM文件中。
答案 0 :(得分:1)
在使用Maven时,需要在jacoco插件中配置排除对象,该插件用于捕获覆盖率统计并将其传递给声纳。
<table id="exploreTable">
<tr>
<td>
--Ommitted some codes for brevity--
</td>
<A name="Explore"></A>
</tr>
<tr>
--Ommitted some codes for brevity--
<td class="ColRow">
<ul>
<li>
<a class="DetailLink" href="...&searchType=subject">
Labor market -- Philippines
</a>
<a class="DetailLink"></a>
</li>
</ul>
</td>
</tr>
<tr>
<td class="ColRow">
<ul>
<li>
<a class="DetailLink" href="....&searchType=subject">
Sex discrimination in employment -- Philippines.
</a>
<a class="DetailLink"></a>
</li>
</ul>
</td>
</tr>
<tr>
<td class="ColRow">
<ul>
<li>
<a class="DetailLink" href="...&searchType=DifferentType">
Sex discrimination against women.
</a>
<a class="DetailLink"></a>
</li>
</ul>
</td>
</tr>
</table>
参考文献:
答案 1 :(得分:0)
在if /?
中,您可以执行以下操作:
application.properties
另外,另一种方法是在声纳中以admin身份登录并转到
设置>排除项>源文件排除项-在此处添加软件包。 重新启动服务器。
答案 2 :(得分:0)
这不是我真正想要的答案。但是现在这对我有用。仍在寻找通过pom文件,java或bean执行此操作的方法。谢谢
解决方案:
因此,如果您在项目的“运行配置”中进行了排除。这是我在问题中提到的第二步,即通过
然后实际上添加您的排除项。 您只需勾选共享文本框,然后单击应用。 您所做的排除将在项目目录中
下提供要推送此消息,只需删除
git中.gitignore文件中的
然后您就可以将存储库中的运行配置文件推送给其他人使用。或导出,这样就不必在intellij的编辑配置中对其进行手动配置。
PS: 这可能会影响Sonarqube中的覆盖率报告。您必须撤消此操作并从回购中取消本地运行配置,才能使用声纳qubes类排除项。出于某种原因,它跳过了我在执行此操作之前所做的所有排除。
答案 3 :(得分:0)
默认情况下,Intellij使用Intellij IDEA作为默认代码覆盖率运行程序。
如果您使用的是jacoco
,则将此选项更改为JaCoCo
。有关详细信息,请访问jetbrains
网站。
https://www.jetbrains.com/help/idea/configuring-code-coverage-measurement.html
按照上述步骤,将考虑<sonar.coverage.exclusions>
中定义的所有排除类,这些类将与远程SonarQube
服务器配置中的类匹配。