首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sonar中的Python测试/测试覆盖率没有出现吗?

Sonar中的Python测试/测试覆盖率没有出现吗?
EN

Stack Overflow用户
提问于 2012-10-11 16:40:18
回答 4查看 20.5K关注 0票数 17

我正在通过声纳运行运行一组非常简单的python项目,并且在测试中出现问题。

我使用Python插件1.1运行Sonar 3.2.1。覆盖报告是以前生成的。

我有以下几套:

代码语言:javascript
复制
sonar.dynamicAnalysis=reuseReports
sonar.core.codeCoveragePlugin=cobertura
sonar.python.coverage.reportPath=coverage.xml

无论我现在做什么,报道都不会出现。

我的测试和我的资料夹在同一个文件夹里.这会是问题吗?是否需要用声纳正确地分析覆盖报告的源代码?

编辑:再加几个笔记.

  • 它是一个多项目python实例。我在里面有三个项目。其他的东西似乎都出现在声纳报告上了。我定义了每个基本目录和源目录,coverage.xml文件已经预先生成到每个基本目录中。
  • 覆盖率小部件显示,但显示: 代码覆盖率-单元测试成功0测试
  • 我也看到了当我运行声纳跑步: 10:04:29.641 p.PhasesTimeProfiler -传感器PythonCoverageSensor.10:04:29.642 INFO .p.c.CoberturaParser -解析报告.p.c.CoberturaParser 10:04:29.883 INFO p.PhasesTimeProfiler -传感器PythonCoverageSensor完成: 242 ms
EN

回答 4

Stack Overflow用户

发布于 2017-05-10 14:12:13

同样也有这个问题,而且pytest没有生成一份格式化良好的覆盖报告,而sonarqube可以利用它。在pytest生成覆盖率报告之后,我运行了coverage xml -i,这个命令生成了一个格式化正确的覆盖报告,sonarqube可以理解它。

票数 15
EN

Stack Overflow用户

发布于 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拥有覆盖信息。

票数 5
EN

Stack Overflow用户

发布于 2012-10-12 08:43:00

"sonar.python.coverage.reportPath“必须指向覆盖文件相对于"sonar-project.properties”文件的路径。通常,这些临时文件是在诸如“目标”或"bin“之类的临时文件夹中生成的。因此,您的配置应该更像:

代码语言:javascript
复制
sonar.python.coverage.reportPath=target/coverage.xml
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12844451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档