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

How to fix the following warning: `WARN: The resource for '' is not found, drilling down to the details of this test won't be possible.`

我的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

时,我收到以下警告

谁能告诉我为什么会收到此警告,我该如何消除/修复它?谢谢。

我收到此警告是因为我从分析中排除了测试文件。我看到在你的属性中你也排除了你的测试:

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

这将阻止声纳计算测试数量及其 pass/fail 状态,如开源 here

中所示

原来问题出在集成到 Pytest 调用中的 Pylint。 父 Pytest 调用生成了一个单元测试报告,其中包含 Pylint 提出的额外 "empty" 测试的空类名。 SonarQube 警告那些空类名。 我最终删除了 Pylint Pytest 集成,只是 运行 Pylint 作为 Pytest 的一个单独步骤。