CoverStory 在运行 iPhone 应用程序后报告 0% 的覆盖率

Posted

技术标签:

【中文标题】CoverStory 在运行 iPhone 应用程序后报告 0% 的覆盖率【英文标题】:CoverStory reporting 0% coverage after running iPhone app 【发布时间】:2012-09-19 01:26:58 【问题描述】:

我刚刚开始使用带有 LLVM 编译器的 Xcode 4.4.1 中的单元测试功能。我创建了一些基本的单元测试。我试图通过打开产品部分中的“仪器程序流程”和“生成测试覆盖率文件”来打开代码覆盖率。此外,我已经查看并看不到前缀标题部分中写的任何内容。根据我在 XCode 4.4.1 中所读到的内容,这就是让它工作所需要做的一切,它应该在 objects-normal/i386 文件夹中生成 .gcno 和 .gcda 文件,可以使用 CoverStory 打开以查看代码覆盖范围。在我退出我的应用程序后,.gcno 文件正在更新,但我没有得到任何 .gcda 文件。我在 CoverStory 中打开 .gcno 文件,显示 0% 的覆盖率

任何帮助将不胜感激

【问题讨论】:

【参考方案1】:

当应用程序干净退出时会生成 Gcda 文件。您是否正确关闭了应用程序?尝试从您的测试/代码中调用exit(0)

或者这个link 建议要么退出模拟器而不是退出Xcode,或者添加

<key>UIApplicationExitsOnSuspend</key>
<true/>

到您的列表中。

【讨论】:

以上是关于CoverStory 在运行 iPhone 应用程序后报告 0% 的覆盖率的主要内容,如果未能解决你的问题,请参考以下文章

调整为 Iphone 6 设计的应用程序大小以在 iphone 5s 中正确缩放

在模拟器中关闭 iPhone

如何从命令行在 iPhone 上启动 OCUnit 测试

将 iPhone 应用程序移植到 iPad——单个应用程序还是 fork?

将 UITabBarController 从单独的 XIB 加载到 iPhone 上的 Window 应用程序中

无法在 UI 的 TextField 中输入字符串-(iphone)