【问题标题】:Sonarqube does not find junit reportsSonarqube 找不到 junit 报告
【发布时间】:2018-07-22 22:02:41
【问题描述】:

我正在尝试在 sonarqube 中发布 phpunit 生成的 junit 报告。 我放的路径无关紧要,它永远找不到文件。日志显示此消息:未提供 PHPUnit 测试报告(请参阅 'sonar.php.tests.reportPath' 属性)

我的配置如下:

sonar.projectKey=MyProj
sonar.projectName=MyProj
sonar.language=php
sonar.sources=Application
sonar.tests=Tests
sonar.php.tests.reportPath=build/logs/
sonar.php.coverage.reportPath=build/coverage

【问题讨论】:

  • 您确定在这个阶段build/logs/ 有.xml 报告文件吗? “日志”听起来不像是报告路径。
  • 能否提供完整的分析日志?
  • 警告:未找到 PHPUnit xml 测试报告:build/logs/junit.xml 警告:未找到 PHPUnit xml 单元测试覆盖率报告:build/logs/clover.xml

标签: php jenkins sonarqube phpunit


【解决方案1】:

sonar.php.coverage.reportPathsonar.php.tests.reportPath 应该提供 xml 文件路径,而不是文件夹路径。 例如,它可能是:

sonar.php.coverage.reportPath=reports/phpunit.coverage.xml
sonar.php.tests.reportPath=reports/phpunit.xml

【讨论】:

  • 我正在使用这个配置 (phpunit.config) 创建单元测试:
【解决方案2】:

谢谢大家的帮助!

我正在检查配置,然后我将路径从相对路径更改为绝对路径,它现在可以工作了!相对路径不起作用。

顺便说一句,现在我面临以下问题:

INFO: Analyzing PHPUnit coverage report: /var/lib/jenkins/workspace/MyProj/build/logs/clover.xml
WARN: Could not resolve 1001 file paths in clover.xml, first unresolved path: /var/lib/jenkins/workspace/MyProj/Application/Controller/API.php

我检查了 clover.xml 文件,路径似乎没问题,路径是绝对的,但声纳找不到文件:

<file name="/var/lib/jenkins/workspace/MyProj/Application/Controller/API.php">

有什么想法吗?

【讨论】:

  • 由于您的配置“sonar.sources=Application”,只有路径以“/var/lib/jenkins/workspace/MyProj/Application”开头的“”才会发送其覆盖范围到 SonarQube。在您的“clover.xml”中,有多少路径不是以“/var/lib/jenkins/workspace/MyProj/Application”开头的?第1001章?
  • 感谢@AlbanA.-SonarSourceTeam 的回答!所有路径都以“/var/lib/jenkins/workspace/MyProj/Application”开头,就像我之前提到的示例一样。
猜你喜欢
  • 2018-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-24
  • 1970-01-01
  • 2016-07-12
  • 2013-02-02
  • 2014-06-30
相关资源
最近更新 更多