Jenkins 声纳扫描仪覆盖范围和测试文件分析

Jenkins 声纳扫描仪覆盖范围和测试文件分析,jenkins,sonarqube,sonarqube-scan,Jenkins,Sonarqube,Sonarqube Scan,某些上下文 我试图在我们的Jenkins中配置插件“Sonar Scanner”,触发器和项目验证正在“工作”,我添加了“”,因为它实际上正在验证所有内容,甚至是测试文件,并且没有检查覆盖范围 你以前应该知道的事情 我无法使用詹金斯的机器 我无法使用声纳机器 从Jenkins安装的所有插件都是最新版本 我的配置 我的项目文件夹结构如下所示(Java项目): 我的声纳扫描仪配置为: #required metadata sonar.projectKey=inventory sonar.proj

某些上下文

我试图在我们的Jenkins中配置插件“Sonar Scanner”,触发器和项目验证正在“工作”,我添加了“”,因为它实际上正在验证所有内容,甚至是测试文件,并且没有检查覆盖范围

你以前应该知道的事情

  • 我无法使用詹金斯的机器
  • 我无法使用声纳机器
  • 从Jenkins安装的所有插件都是最新版本
我的配置

我的项目文件夹结构如下所示(Java项目):

我的声纳扫描仪配置为:

#required metadata
sonar.projectKey=inventory
sonar.projectName=Inventory1
sonar.language=java
sonar.sourceEncoding=UTF-8
#sonar.tests=**/.*Test.java
sonar.exclusions=**/*Dto*, **/*Entity*
sonar.binaries=build/classes
sonar.java.binaries=/data/application/jenkins/jenkins/workspace/$JOB_NAME

#Adding more info to the log
sonar.verbose=true

#Path to source directory
sonar.sources=/data/application/jenkins/jenkins/workspace/$JOB_NAME
问题

  • 测试覆盖率为0
  • 检查报告时,我看到当前的Scanner配置检查了所有内容,甚至包括测试
  • 所以。。问题是:

  • 我的测试文件在项目中到处都是,如何(或者如果可能的话)将正则表达式添加到“sonar.tests”中?我一直在尝试,但没有成功,我所有的测试都以Test.java结束

  • 我如何才能正确避免声纳扫描测试文件

  • 我是否也需要jacoco来完成这项工作,或者在没有jacoco的情况下也可以完成这项工作?(我们正在项目中配置jacoco maven)


  • 谢谢你抽出时间

    您需要向SonarQube发送有关单元测试覆盖率的信息,如sonar.coverage.jacoco.xmlReportPaths=。。。检查这个:Hi@Peska谢谢你的评论,开发团队将配置Jacoco,我们将尝试这个。
    #required metadata
    sonar.projectKey=inventory
    sonar.projectName=Inventory1
    sonar.language=java
    sonar.sourceEncoding=UTF-8
    #sonar.tests=**/.*Test.java
    sonar.exclusions=**/*Dto*, **/*Entity*
    sonar.binaries=build/classes
    sonar.java.binaries=/data/application/jenkins/jenkins/workspace/$JOB_NAME
    
    #Adding more info to the log
    sonar.verbose=true
    
    #Path to source directory
    sonar.sources=/data/application/jenkins/jenkins/workspace/$JOB_NAME