用于python的Sonarqube:未发现测试成功分数-未找到“ tests.test_transformation_helper.TestCase”的资源

时间:2019-02-19 15:46:36

标签: python sonarqube

我正在SonarQube上扫描Jenkins作业中的python代码。为了使我的构建“通过”(即公司的内部规则),Sonar扫描必须具有测试覆盖率分数和测试成功分数。我正在使用鼻子和覆盖率来运行测试并生成这些报告(nosetests.xml和coverage.xml):

nosetests --with-coverage --cover-erase --with-xunit --exe --cover-package=at_overlay
coverage report --omit src/tests/*,*/__init__.py
coverage xml --omit src/tests/*,*/__init__.py

我的扫描报告具有正确的覆盖范围数字,但没有测试成功分数。当我查看扫描过程中得到的输出时,会看到以下内容:

14:47:19 [sonarQube scan] 14:47:19.252 INFO  - Processing report '/usr/src/app/jenkins/workspace/at-overlay_release_uat-BNAIZGRBYSDANHOQHN2L6FCL4JRFHKJO5WZOZYKP6RAZFUAILPPA/nosetests.xml'
14:47:19 [sonarQube scan] 14:47:19.256 WARN  - The resource for 'tests.test_transformation_helper.TestCase' is not found, drilling down to the details of this test won't be possible
14:47:19 [sonarQube scan] 14:47:19.256 WARN  - The resource for 'tests.test_data_wrapper.TestDataWrapper' is not found, drilling down to the details of this test won't be possible

我在这里找到了一个答案-Importing python test run information into sonarqube,尽管当我尝试仍然可以得到相同的结果时。我在这里想念一些明显的东西吗?

1 个答案:

答案 0 :(得分:0)

尝试删除测试的遗漏:

coverage report --omit src/tests/*,*/__init__.py
coverage xml --omit src/tests/*,*/__init__.py 

coverage report --omit */__init__.py
coverage xml --omit */__init__.py

Sonar使用测试文件来计算测试成功,如OSS插件代码here

所示

那是警告日志的来源。