gpt4 book ai didi

iphone - 如何在iPhone SDK中设置gcov进行代码覆盖率分析?

转载 作者:行者123 更新时间:2023-12-03 16:09:01 25 4
gpt4 key购买 nike

我最近开始对我为 iPhone 编写的应用程序进行单元测试。我已经掌握了创建自己的测试的基础知识,即使它看起来有点次优。然而,我在使用 gcov 设置代码覆盖率分析时遇到了真正的麻烦。

我按照此处的说明进行操作:http://www.cubiclemuses.com/cm/articles/2009/05/14/coverstory-on-the-iphone/ ,这在其他地方也非常类似地重复。我尝试过使用Google's AppleScript从他们的 Mac 工具箱中执行此操作,以防万一我在 Xcode 中输入错误。

我用过Apple的iPhoneUnitTests sample作为一个基础项目,只需运行 Google 的 AppleScript 即可针对 CalcTests 目标进行代码覆盖测试,以获得一个来源良好的自动化示例,说明它不起作用。无论我使用什么场景,我自己的代码,Apple 的,手动设置适当的变量或让 Google 的 AppleScript 为我做这件事,一旦测试运行完成,我得到的只是调试控制台中的这些错误:

profiling:/Users:Cannot create directory
profiling:/Users/jpo/Downloads/iPhoneUnitTests/build/iPhoneUnitTests.build/Debug-iphoneos/CalcTesting.build/Objects-normal/armv6/CalcViewController.gcda:Skip
profiling:/Users:Cannot create directory
profiling:/Users/jpo/Downloads/iPhoneUnitTests/build/iPhoneUnitTests.build/Debug-iphoneos/CalcTesting.build/Objects-normal/armv6/Calculator.gcda:Skip
profiling:/Users:Cannot create directory
profiling:/Users/jpo/Downloads/iPhoneUnitTests/build/iPhoneUnitTests.build/Debug-iphoneos/CalcTesting.build/Objects-normal/armv6/CalcAppDelegate.gcda:Skip
profiling:/Users:Cannot create directory
profiling:/Users/jpo/Downloads/iPhoneUnitTests/build/iPhoneUnitTests.build/Debug-iphoneos/CalcTesting.build/Objects-normal/armv6/main.gcda:Skip

gcda 文件没有创建,因此我没有什么可分析的。任何有关此问题的帮助将不胜感激。

最佳答案

解决方案是这些指南引用了在 iPhone 模拟器中运行代码。因为我正在运行应用程序级别测试,所以我正在进行交叉分析并且需要遵循 this information .

然后,我设置环境变量 GCOV_PREFIX 将其转储到应用程序的 Documents 目录中,然后使用 Xcode 中的 Organizer 从设备下载应用程序包,以从 Documents 目录中获取 .gcda 文件。这是相当麻烦的,几乎不适合自动覆盖测试,但考虑到在沙箱中运行和使用仅可用于在设备上测试的类(即 MediaPlayer.framework)的限制,这是我能看到的唯一解决方案。

关于iphone - 如何在iPhone SDK中设置gcov进行代码覆盖率分析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1945229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com