首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iOS分析中包括SonarQube Swift项目测试数据

在iOS分析中包括SonarQube Swift项目测试数据
EN

Stack Overflow用户
提问于 2018-02-20 09:36:31
回答 1查看 1.3K关注 0票数 2

我们正在建立一个Swift iOS项目,用fastlane构建,由SonarQube用SonarSwift插件进行分析。到目前为止,除了关于测试的信息之外,一切都能正常工作。

我们通过使用slather (Llvm)生成报告并将其重命名为Coverage.report并用路径填充sonar.swift.coverage.reportPath来添加代码覆盖率。

我们还生成*.junit文件并将它们输入sonar.junit.reportsPath。但这些似乎永远也不包括在内。我们只尝试路径./reports,并使用TEST-前缀和.xml结尾命名文件。我们还尝试了一个直接路径./reports/TEST-report.xml

有人把这个弄到手了吗?如果是,怎么做?这是否得到了SonarQube的支持?

EN

回答 1

Stack Overflow用户

发布于 2021-04-03 11:57:23

根据https://community.sonarsource.com/t/number-of-unit-tests-is-zero/26104/6

JUnit报告只支持Java。

对于Swift,我们需要将报告转换为泛型类型

首先,对于 (https://gist.github.com/lucascorrea/80f3d57a7f97b2365ef39839eefe68a1)

  1. 运行测试以生成测试数据
  2. xcrun llvm-cov show转换成声纳能识别的覆盖数据
  3. sonar.swift.coverage.reportPath配置为xcrun生成的报表路径
  4. 您可以运行sonar-scanner来提交覆盖率数据。
代码语言:javascript
复制
    sh("xcodebuild -workspace ../brewdog.xcworkspace -scheme brewdog -sdk iphonesimulator -enableCodeCoverage YES -destination 'platform=iOS Simulator,name=iPhone 7,OS=11.3' GCC_GENERATE_TEST_COVERAGE_FILES=YES build test -derivedDataPath ../DerivedData")
    sh("xcrun llvm-cov show -instr-profile=$(find ../DerivedData -iname 'Coverage.profdata') ../DerivedData/Build/Products/Debug-iphonesimulator/brewdog.app/brewdog > ../DerivedData/Coverage.report")

其次,对于UnitTest (https://github.com/azohra/forsis),在完成此操作之后,您可以检查诸如单元测试计数、成功、失败、持续时间等信息(上面的链接中有一些图片)。

与此相同,您需要使用此工具将测试执行报告转换为泛型类型。

  1. 设置转换程序
  2. **重要**在sonar.testssonar.testExecutionReportPaths中配置sonar-project.properties
  3. 运行sonar-scanner

做完这两件事后,你可以在声纳网站的栏目中检查覆盖率和单元测试!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48881973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档