我想通过在生成的 gcda 文件上运行 gcovr 来查看代码覆盖率。Jenkins 似乎将生成的 gcda 文件放在了 Users/../Library/developer/Xcode/DerivedData/../../../i386 中。我希望他们在 Users/Shared/Jenkins/workspace/../build/example.build/Debug-iphonesimulator/example.build/Objects-normal/i386
当我在本地使用 XCode 运行我的 IOS 项目时,它会生成 gcda 文件,我可以查看我的覆盖范围。我正在运行 xcode 5,所有测试都是用 XCTest 创建的。
我已经为调试和发布设置了'Generate Test Coverage Files=YES'和'Instrument Program Flow=YES',基本上我已经按照这篇文章做了所有事情
在 Jenkins 中,我使用 xcode 插件进行构建。它有两个构建命令。第一个使用目标“示例”和配置调试构建。第二个 Xcode 构建命令使用目标“ExampleTests”、配置调试、参数“test -destination OS=7.0,name=”iPhone Retina (4-inch)”和一个方案构建。在输出中我可以看到正在运行的测试模拟器在构建机器上启动。
似乎我在项目设置中错过了一些东西,或者在詹金斯的工作中没有设置正确的东西。对于 XCode5,可能只有 TEST_AFTER_BUILD=YES 之类的东西。