如何解决以下警告:`WARN:找不到'的资源,将无法深入到该测试的详细信息。

时间:2019-03-28 00:29:50

标签: python-3.x sonarqube sonarqube-scan

我精简的sonar-project.properties文件如下:

# Sources
sonar.sources=felix
sonar.sources.inclusions=**/**.py
sonar.exclusions=**/test_*.py,**/**.pyc,felix/utils/*,**/*.iml

# Linter
sonar.python.pylint=/usr/local/bin/pylint
sonar.python.pylint_config=.pylintrc
sonar.python.pylint.reportPath=pylint-report.txt

# Coverage / Unit Tests
sonar.tests=./tests
sonar.test.inclusions=**/test_**.py
sonar.python.xunit.skipDetails=false
#DEFAULT VALUES: sonar.python.xunit.reportPath=xunit-reports/xunit-result-*.xml
#DEFAULT VALUES: sonar.python.coverage.reportPath=coverage-reports/*coverage-*.xml

删节的源代码树如下:

├── felix
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-35.pyc
│   │   ├── process.cpython-35.pyc
│   │   └── spark.cpython-35.pyc
│   ├── felix.iml
│   ├── process.py
│   ├── spark.py
│   └── utils
│       └── utils.py
├── requirements.txt
├── setup.py
├── sonar-project.properties
├── tests
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-35.pyc
│   │   └── test_process.cpython-35-PYTEST.pyc
│   ├── cia-spark.iml
│   ├── data
│   └── test_process.py
└── tox.ini

但是,当我运行sonar-scanner时,我收到以下警告:WARN: The resource for '' is not found, drilling down to the details of this test won't be possible

请让我知道为什么我会收到此警告,以及如何消除/修复它?谢谢。

2 个答案:

答案 0 :(得分:2)

我收到此警告是因为我正在从分析中排除测试文件。我看到,除了在您的媒体资源中,您还排除了测试:

sonar.exclusions=**/test_*.py,**/**.pyc,felix/utils/*,**/*.iml

这将阻止声纳计算测试次数及其通过/失败状态,如开源here

所示

答案 1 :(得分:0)

问题出在与Pytest调用中集成的Pylint有关。 父级Pytest调用生成了一个单元测试报告,该报告的空类名表示Pylint提出的其他“空”测试。 SonarQube警告那些空的类名。 我最终删除了Pylint Pytest集成,而只是将Pylint作为Pytest的一个单独步骤来运行。