我在 10.6 上使用 Xcode 3.2,带有 gcov 的出厂版本和默认的 GCC 编译器(均为 4.2.1 版本)。我创建了一个依赖 Cocoa 单元测试包,该包被注入到我的应用程序中,并遵循 Apple 的关于设置 gcov-instrumented 构建配置的文档- 基于未启用任何编译器优化的调试配置。
当我使用这种“Gcov-instrumented”配置构建测试包时,应用程序启动并且测试被注入并运行。覆盖统计文件也在以下位置生成:
build/<AppTarget>.build/Gcov-instrumented/<AppTarget>.build/Objects-normal/x86_64/<object>.gcda
build/<AppTarget>.build/Gcov-instrumented/<AppTarget>.build/Objects-normal/x86_64/<object>.gcno
到现在为止还挺好。我知道测试确实在运行,因为如果我插入失败,那么测试套件会按预期失败。不幸的是,gcov 报告说测试没有覆盖任何对象行!每一行都报告为 0 覆盖率。我在此处和 Apple 邮件列表档案中进行了搜索,但找不到任何有类似问题的人。我希望我错过了一些东西 - 但它是什么?