我正在通过声纳运行运行一组非常简单的python项目,并且在测试中出现问题。
我使用Python插件1.1运行Sonar 3.2.1。覆盖报告是以前生成的。
我有以下几套:
sonar.dynamicAnalysis=reuseReports
sonar.core.codeCoveragePlugin=cobertura
sonar.python.coverage.reportPath=coverage.xml无论我现在做什么,报道都不会出现。
我的测试和我的资料夹在同一个文件夹里.这会是问题吗?是否需要用声纳正确地分析覆盖报告的源代码?
编辑:再加几个笔记.
发布于 2017-05-10 14:12:13
同样也有这个问题,而且pytest没有生成一份格式化良好的覆盖报告,而sonarqube可以利用它。在pytest生成覆盖率报告之后,我运行了coverage xml -i,这个命令生成了一个格式化正确的覆盖报告,sonarqube可以理解它。
发布于 2020-05-06 11:47:32
我遇到了一个类似的问题,在SonarQube中没有反映python的测试覆盖率。当coverage.xml具有指向源文件的不正确路径而SonarQube在解析xml时无法找到这些源文件时,就会发生此问题。
在coveragepy的同一个问题上有一个开放的bug:https://github.com/nedbat/coveragepy/issues/578和一个解决方案https://github.com/LibraryOfCongress/concordia/pull/857。然而,这个解决办法对我没有用。
最后我所做的是:在运行生成错误路径的python -m pytest -m unit测试命令之后,我运行了coverage xml -i。它覆盖以前的coverage.xml,并具有正确的源文件路径。
现在,SonarQube拥有覆盖信息。
发布于 2012-10-12 08:43:00
"sonar.python.coverage.reportPath“必须指向覆盖文件相对于"sonar-project.properties”文件的路径。通常,这些临时文件是在诸如“目标”或"bin“之类的临时文件夹中生成的。因此,您的配置应该更像:
sonar.python.coverage.reportPath=target/coverage.xmlhttps://stackoverflow.com/questions/12844451
复制相似问题