【发布时间】:2012-07-10 07:42:23
【问题描述】:
我正在尝试从我们的持续集成中获取 JUnit 测试报告 Jenkins 为我们的 Android 项目构建到 Sonar 中。我离成功只有一步之遥,我想不出最后一步。
使用 Ant 完成构建。
我正在使用Jenkins-started emulator 并使用the missing android XML JUnit test runner 运行测试。测试运行,我使用测试运行器作者提供的说明成功地将 JUnit XML 结果文件(com.my.package.thing-TEST.xml 等)从设备中提取到指定目录中。
声纳分析是使用The Jenkins Sonar plugin 提供的“调用独立声纳分析”构建步骤完成的。我已经设置好项目属性,以便所有静态源分析等都成功推送到 Sonar 服务器。
我的问题是它不会将 JUnit 测试结果与所有其他分析一起推送。我关注了Sonar instructions about reusing test reports。值得注意的是,我设置了以下属性:
sonar.dynamicAnalysis=reuseReports
sonar.surefire.reportsPath=android/REDACTED-test/junit-results
我可以在构建输出中看到它应该解析结果的位置:
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 毫秒,我很确定它没有看到和/或打开结果文件,但我不知道为什么。有人可以帮忙吗?
【问题讨论】:
-
您好,您能具体说明一下您在 Sonar 中看不到的“测试报告”吗?
-
我只知道一种测试,JUnit 测试。尽管我有几个包含结果的 XML 文件,Sonar 说已经运行了零测试。
标签: android junit jenkins sonarqube