我有一个类似这样结构的python项目,我正试图将其导入SonarQube:
root
sonar-project.properties
src
test
nosetests.xml
所有测试文件都在测试文件夹中。 nosetests.xml是用nose(tests)生成的xml报告(1.3.7)。在
我的声纳-scanner.properties扫描程序文件看起来像这样
^{pr2}$当尝试将项目导入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中使用和重用。我不想编辑报告,我正在寻找一种方法来正确地生成它们或按原样导入它们。在
这似乎是最好的解决鼻子测试的水平,即获得nosetests.xml报告完全限定路径。这将让SonarPython(以及其他可能的工具)正确地进行匹配。在
简单的方法是:在test下添加一个空的
__init__.py
,然后重新运行测试。这将使test成为类路径的一部分,并且nosetests.xml应该报告test.unitests.testcase
。在相关问题 更多 >
编程相关推荐