[英]Skip Code Coverage For Modules in SonarQube
我有一個使用SonarQube分析的Maven構建的Java項目。 每個項目都包含幾個Maven模塊,例如:
org.acme.module
-API org.acme.module.demo
一個演示該模塊功能的小型演示應用程序 org.acme.module.doc
開發人員文檔 org.acme.module.it
集成測試 在理想的情況下,我想分析所有這些模塊的代碼質量,但只計算API的測試覆蓋率。
但是我找不到從代碼覆蓋范圍禁用整個項目的方法( sonar.coverage.exclusions
僅過濾類名,並且其中一些模塊與API共享一個包),所以現在我嘗試禁用這些模塊來自聲納。
我試過了:
<properties>
<sonar.skippedModules>org.acme.module.demo,org.acme.module.doc,org.acme.module.it</sonar.skippedModules>
</properties>
哪個可行,但工作量很大,因為我有數百個這樣的項目。
<properties>
<sonar.skip>true</sonar.skip>
</properties>
也可以使用,但是我必須為每個子模塊類似地定義它。 而且,現在Sonar不會分析文件,這很明顯是有原因的。
我寧願有類似<excludedModules>*demo*,*doc*,*it*,<excludedModules>
,我可以在父pom.xml中定義一次並在所有這些模塊中使用。
該答案指出:
您也可以從此處的“跳過模塊”部分中記錄的聲納管理頁面執行此操作。
直到我意識到SonarQube文檔不再包含“跳過模塊”部分,我才感到非常高興。 也許它已被移動,而我卻找不到。
如何在仍然運行其他Sonar測試的同時跳過多個模塊中的代碼覆蓋率分析?
還是如果不可能,如何以一種通用的方式在Sonar中跳過這些模塊?
在所有子/子模塊pom中,您可以添加以下內容,以僅從覆蓋率分析中排除該模塊中的所有文件。 您仍將獲得這些模塊的SonarQube分析的其余部分。
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.coverage.exclusions>
**/*.*
</sonar.coverage.exclusions>
</properties>
</profile>
</profiles>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.