【问题标题】:How to get code coverage in Xcode 6?如何在 Xcode 6 中获得代码覆盖率?
【发布时间】:2014-09-10 20:06:51
【问题描述】:

我的测试是 XCTests,我使用的是 Objective-C 而不是 Swift。

我看过一些解决该主题的文章,但似乎专注于旧版本的 Xcode,例如:

在 Xcode 6 上获得代码覆盖率的推荐方法是什么? Apple 是否有内置的代码覆盖功能,可能通过 OSX Server 的 Xcode CI?

【问题讨论】:

  • 找到答案?我也有兴趣。
  • 很遗憾,到目前为止还没有答案。
  • 你试过用 gcov 配置 XCode 吗? developer.apple.com/library/ios/qa/qa1514/_index.html
  • 最好有一个使用 Travis 和 Coveralls 的最小示例。
  • 那么 Xcode 6 是不可能的吗?我试图实现您的第二个链接中概述的内容,但没有创建任何覆盖文件..

标签: ios xcode code-coverage xcode6 xcode6gm


【解决方案1】:

看看frankencover.it

  • 可以从开发人员的命令行或 CI 构建服务器运行的简单脚本。
  • 生成控制台输出以及 HTML 格式的详细报告。这可以在本地查看或由构建服务器作为工件发布。
  • (可选)包含一个检查器,如果未满足要求的覆盖范围,该检查器将“失败”构建。 (仅限反馈。这是检查覆盖率并寻找可以添加减少所需数量的有用测试的提示。任何一个选项都可能是正确的。)
  • 对于商业和开源项目都是免费的。无需托管、赞助或订阅。

用法:

FTW,它有一个易于记忆的 dogue-speak-esque 命令行界面:

groovy http://appsquickly.github.io/frankencover.it/with --source-dir MyProject/Source

终端输出:

HTML 报告:

【讨论】:

  • 这让事情变得容易多了。
  • 嗨@Jasper html 文件似乎丢失了。覆盖文件夹为空。你以前遇到过这种情况吗?
  • @Siddarthan 没有。你有最新的 lcov 吗?请提出 Github 问题
  • lcov: LCOV 1.11 版我猜这是最新的 lcov。我将提出一个 GitHub 问题
  • 是的,那个版本很好。您的项目是否将覆盖范围输出到自定义文件夹(不是 DerivedData?)。 Frankencover 有一个 cmdline 参数来配置它。好的,等待 gh 问题。
【解决方案2】:

我们为此使用 Xcoverage。如果有帮助,请查看下面的链接。

Xcoverage

【讨论】:

    【解决方案3】:

    这是一个更新,来自 Xcode 6 Apple 具有内置代码覆盖工具,但是看看 coverStory 很容易在推送之前在本地配置测试。 并提供逐行覆盖。

    【讨论】:

      猜你喜欢
      • 2014-02-21
      • 2016-11-29
      • 1970-01-01
      • 2014-06-22
      • 2019-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多