如何解决以下警告:`警告:未找到 '' 的资源,无法深入了解此测试的详细信息。`
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 的一个单独步骤。
我的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 的一个单独步骤。