我想通过在生成的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插件进行构建。它有两个构建命令。第一个使用目标“example”和配置调试进行构建。 第二个Xcode构建命令使用目标“ExampleTests”,配置调试,参数“test -destination OS = 7.0,name =”iPhone Retina(4-inch)“和一个方案。在输出中,我可以看到测试正在运行,模拟器在构建机器上启动。
看起来我可能在项目设置中遗漏了一些东西,或者在Jenkins工作中没有设置正确。也许像TEST_AFTER_BUILD=YES这样的东西只适用于XCode5。