Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将python测试运行信息导入sonarqube_Python_Sonarqube_Nose_Sonarqube Scan - Fatal编程技术网

将python测试运行信息导入sonarqube

将python测试运行信息导入sonarqube,python,sonarqube,nose,sonarqube-scan,Python,Sonarqube,Nose,Sonarqube Scan,我有一个类似这样结构的python项目,我正在尝试将其导入SonarQube: root sonar-project.properties src test nosetests.xml 所有测试文件都在测试文件夹中。 xml是使用nose(tests)(1.3.7)生成的xml报告 我的sonar-scanner.properties文件如下所示 sonar.projectKey=python-sonar sonar.projectName=python

我有一个类似这样结构的python项目,我正在尝试将其导入SonarQube:

root
    sonar-project.properties
    src
    test
        nosetests.xml
所有测试文件都在测试文件夹中。 xml是使用nose(tests)(1.3.7)生成的xml报告

我的sonar-scanner.properties文件如下所示

sonar.projectKey=python-sonar
sonar.projectName=python-sonar
sonar.projectVersion=1.0
sonar.sources=src
sonar.tests=test
sonar.language=py
sonar.sourceEncoding=UTF-8
#I want the details so this is false.
sonar.python.xunit.skipDetails=false
sonar.python.xunit.reportPath=test/nosetests.xml
sonar.python.coverage.itReportPath=test/cover.xml
当尝试将项目导入SonarQube时,我得到所有测试的以下错误,并且没有将任何测试信息导入SonarQube

WARN: The resource for 'unittests.testcase' is not found, drilling down to the details of this test won't be possible.
深入研究细节,我发现问题在于PythonXUnitSensor在反映测试用例名称的路径上查找测试文件。例如,测试位于路径
test/unitests/testcase
,如果它在XML报告中有名称
test.unitests.testcase
,则会导入它。但是,nosetests将其命名为unitests.testcase,因此它不会被导入


我正在寻找一种干净的方法来解决这个问题,这样它就可以在CI中使用并重用。我不想编辑报告,我正在寻找一种方法来正确生成报告或导入报告。

这似乎最好在nosetest级别解决,即让nosetests.xml报告完全限定的路径。这将使Python(以及可能的其他工具)能够正确地进行匹配


简单的方法是:在测试下添加一个空的
\uuuu init\uuuu.py
,然后重新运行测试。这将使测试成为类路径的一部分,nosetests.xml应该在
test.unitests.testcase

上报告,谢谢先生。就像一个符咒。有什么原因Python sensor不检查sonar.tests目录下的测试吗?