簡體   English   中英

SonarQube:新代碼的質量門覆蓋范圍

[英]SonarQube: quality gate coverage on new code

下面的情況不適用於我。

我執行了如下的兩個分析t1和t2

t1:分析覆蓋率為13.6%的代碼並將其發送到SonarQube服務器。 在這里,我使用/d:sonar.projectDate=2016-11-24作為掃描儀的參數。 t1中有61行代碼。

在此處輸入圖片說明

t2:刪除了date參數。 添加了沒有覆蓋范圍的新代碼,還添加了一些重復的行。 t2中有158行代碼。 覆蓋率下降到3.8%。 這意味着在沒有預期的覆蓋范圍的情況下引入了許多代碼。

在此處輸入圖片說明

問題:

  1. 為什么我的質量門仍然沒有失敗? 我在本地實例上使用默認質量門。 低於80%的質量都不能通過質量檢驗。
  2. 我看到其他一些帖子,人們說應該啟用SCM才能使其正常工作。 有什么關系? 有人知道如何計算新代碼的覆蓋率嗎?
  3. 如果啟用“ common-cs:InsufficientLineCoverage”,則質量門將失敗。 但這與質量門上存在的閾值無關,它將遵循規則的閾值,默認情況下為65%。

發生情況的上下文:

  1. 具有默認配置文件和質量門的本地實例
  2. SonarQube 6.1
  3. 掃描儀2.2.0.24
  4. C#插件5.5.0.479
  • 為了確定什么是新代碼,SonarQube依靠提供的SCM(提交日期)信息
  • sonar.projectDate參數用於重寫項目的歷史記錄,以解決在不同時間點產生的問題的演變
  • 如果您不能使用SCM插件 (為什么不使用),那么如果總覆蓋率低於80%,則將Quality Gate更改為失敗。 只要項目覆蓋率低於80%,質量門就會失敗

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM