解析Xcode 9生成的Coverage文件时的SonarQube SonarSwift插件异常

时间:2018-02-01 03:09:45

标签: sonarqube code-coverage xcode9 sonarqube-scan

使用SonarQube时出现错误>尝试将覆盖率报告推送到SonarQube服务器时的SonarSwift插件。 我使用Xcode命令行生成报告:

_pytest.main.pytest_runtestloop

当我运行xcodebuild test -enableCodeCoverage YES -scheme iOS_Template -workspace iOS_Template.xcworkspace -destination 'platform=iOS Simulator,name=iPhone X' 扫描代码并上传报告时,我收到以下错误:

sonar-scanner

我检查了Sonarswift插件,它看起来不支持XCode9 +(我的Xcode版本是Xcode 9.2),并想知道它是否导致异常

2 个答案:

答案 0 :(得分:0)

查看此SonarQube documentation页面。在将输出发送到SonarQube之前,您必须先翻译输出:

xcodebuild -scheme <schemeName> -enableCodeCoverage YES -derivedDataPath . clean build test
xcrun llvm-cov show -instr-profile=Build/Intermediates/CodeCoverage/Coverage.profdata <path to instrumented executable> > <coverage report file>

同时检查 sonar.swift.coverage.reportPath 设置。该文档还有一个示例项目的链接。

答案 1 :(得分:0)

事实证明,通过添加命令来“生成”SonarSwift加载的覆盖率报告文件,可以解决这个问题。 命令为xcrun llvm-cov show -instr-profile