【发布时间】:2013-11-26 12:44:23
【问题描述】:
我想通过对生成的 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'进行调试和发布,基本上我已经按照this post做所有事情了
在 Jenkins 中,我使用 xcode 插件进行构建。它有两个构建命令。第一个使用目标“示例”和配置调试构建。 第二个 Xcode 构建命令使用目标“ExampleTests”、配置调试、参数“test -destination OS=7.0,name=”iPhone Retina (4-inch)”和一个方案构建。在输出中我可以看到正在运行的测试模拟器在构建机器上启动。
似乎我在项目设置中错过了一些东西,或者在詹金斯的工作中没有设置正确的东西。对于 XCode5,可能只有 TEST_AFTER_BUILD=YES 之类的东西。
【问题讨论】:
-
我也有同样的情况。当我在构建机器上运行测试构建步骤时,我找不到任何 .gcda 文件。但我可以在我的机器上找到它们。我认为这些文件是在派生数据文件夹中生成的,而不是在 Jenkins 的工作区中生成的。
标签: ios xcode jenkins continuous-integration code-coverage