Why isn't Sonar reading my JUnit XML results on Jenkins?
我正在尝试从我们的持续集成中获取JUnit测试报告,Jenkins将其内置到我们的Android项目的Sonar中。我是成功的关键,我不知道最后一步。
该构建是通过Ant完成的。
我正在使用Jenkins启动的模拟器,并使用缺少的android XML JUnit测试运行程序运行测试。测试运行,并且我按照测试运行者作者提供的说明成功地将JUnit XML结果文件(
声纳分析是使用Jenkins声纳插件提供的"调用独立声纳分析"构建步骤完成的。我已经设置了项目属性,以便所有静态源分析等都已成功推送到Sonar服务器。
我的问题是,它不会将JUnit测试结果与所有其余分析一起推送。我遵循了Sonar关于重用测试报告的说明。值得注意的是,我设置了以下属性:
1 2 | sonar.dynamicAnalysis=reuseReports sonar.surefire.reportsPath=android/REDACTED-test/junit-results |
我可以在生成输出中看到应该解析结果的位置:
1 2 3 4 5 6 7 | 17:52:28.013 INFO org.sonar.INFO - Execute Findbugs 2.0.0 done: 25446 ms 17:52:28.378 INFO p.PhasesTimeProfiler - Sensor FindbugsSensor done: 25812 ms 17:52:28.378 INFO p.PhasesTimeProfiler - Sensor SurefireSensor... 17:52:28.379 INFO s.p.s.SurefireSensor - parsing /jenkins/jobs/REDACTED/workspace/android/REDACTED-test/junit-results 17:52:28.383 INFO p.PhasesTimeProfiler - Sensor SurefireSensor done: 5 ms 17:52:28.383 INFO p.PhasesTimeProfiler - Sensor CpdSensor... 17:52:28.384 INFO o.s.p.cpd.CpdSensor - SonarEngine is used |
我已经登录到构建机器上,可以看到提到的目录,并且我已经确认那里有几个JUnit XML文件,但是由于某些原因,Sonar服务器仍报告零测试。由于SurefireSensor仅花费5毫秒,因此我很确定它没有看到和/或打开结果文件,但我不知道为什么。有人可以帮忙吗?
跑步者以以下格式产生测试结果名称:
emma surefire插件仅查找名称以
不幸的是,缺少的android XML测试运行程序仅提供后缀功能,因此您必须通过在前面添加