声纳中Python的测试/测试覆盖没有出现吗?
问题描述
我通过Sonar-Runner运行一组非常简单的Python项目,在显示测试时遇到问题。
我运行的是带有Python插件1.1的Sonar 3.2.1。覆盖范围报告是以前生成的。
我有以下设置:
sonar.dynamicAnalysis=reuseReports
sonar.core.codeCoveragePlugin=cobertura
sonar.python.coverage.reportPath=coverage.xml
无论我此时执行什么操作,覆盖范围都不会显示。
我的测试与我的源文件位于同一文件夹中.这会是问题所在吗?要让声纳正确分析覆盖报告,是否需要如何布局源代码?编辑:再添加几个备注.
- 为多项目python实例。我在那里有三个项目。其他一切似乎都正确地显示在声纳报告上。i‘v为每个文件定义了基目录和源目录,并且已将coverage.xml文件预先生成到每个文件的基目录中。
显示Coverage小部件,但显示:
Code coverage - Unit test success 0 tests
我在运行声纳-Runner时也看到了:
10:04:29.641 INFO p.PhasesTimeProfiler - Sensor PythonCoverageSensor... 10:04:29.642 INFO .p.c.CoberturaParser - Parsing report '/home/jenkins/jobs/myproject/workspace/trunk/src/python/coverage.xml' 10:04:29.883 INFO p.PhasesTimeProfiler - Sensor PythonCoverageSensor done: 242 ms
解决方案
也有此问题,pytest没有生成格式正确的覆盖报告,Sonarqube可以利用。在pytest生成覆盖报告之后,我运行了coverage xml -i
,并且此命令生成了sonarqube能够理解的格式正确的覆盖报告。
相关文章