Python | SonarQube Scanner执行期间发生错误|行3832在文件.py中超出范围

时间:2019-02-13 11:18:28

标签: sonarqube sonarscanner

下面是我的sonar.properties文件:-

sonar.projectKey=code
sonar.projectName=PROJECT
sonar.projectVersion=0.0.1
sonar.sources=code
sonar.python.coverage.reportPath=code/coverage*.xml
sonar.python.coveragePlugin=cobertura
sonar.python.xunit.reportPath=TEST*.xml
sonar.sourceEncoding=UTF-8
sonar.pli.marginLeft=2
sonar.pli.marginRight=0

下面是我正在执行的命令:-

$HOME/sonar-scanner-3.2.0.1227-linux/bin/sonar-scanner -Dsonar.verbose=false -Dsonar.projectKey=code -Dproject.settings=code/devops/sonar.properties -Dsonar.host.url=https://mysonar.net -Dsonar.login=$USERNAME -Dsonar.password=$PASSWORD

错误日志:-

INFO: Python test coverage
INFO: Parsing report '/data/jenkins/workspace/master-ci/code/coverage.xml'
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 9.052s
INFO: Final Memory: 15M/397M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarQube Scanner execution
ERROR: Line 3832 is out of range in the file code/src/driver.py (lines: 3831)
ERROR: 
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // withCredentials
[Pipeline] }
WARN: Unable to locate 'report-task.txt' in the workspace. Did the SonarScanner succedeed?

Sonarqube版本:-版本7.1(内部版本11001)LGPL v3 声纳扫描仪:-3.2.0.1227

1 个答案:

答案 0 :(得分:0)

1- 添加一个空格。 (在coverage.xml 文件的底部)。这适用于旧的 pytest 测试。

2- 在另一个项目中,我更新了以下包:pytest、pytest-cov 和coverage,这是最新版本。 (像魅力一样工作)。

这里有一个问题:更新到最新的 pytest 版本时,您可能会发现 conftest.py 不再存在的方法。例如:get_marker 可以用新的 get_closest_marker 代替。或者像“请求”这样的保留词。对于最新情况,您可以重命名名为 request 的方法。