Xcode 4.4.1上的代码覆盖率

时间:2012-08-21 12:42:10

标签: macos ios5 code-coverage xcode4.4

我一直在尝试在Xcode4.4.1上为Mac应用程序进行代码覆盖测试,该应用程序是10.8应用程序,因此应用程序只能通过Xcode4.4.1构建和运行。但是在使用Xcode4.4.1时找不到/Developer/usr/lib/libprofile_rt.dylib库。是否还有更好的工具来运行Xcode4.4.1上的代码覆盖?

寻找一些代码覆盖工具,适用于Xcode4.4.1上的mac和iOS应用程序

3 个答案:

答案 0 :(得分:4)

不需要包含* libprofile_rt.dylib *并在xCode 4.4.1中运行项目时使用* -profile_rt *标志(与iOS模拟器一样使用魅力)只需设置这些标志:

Generate Test Coverage Files: YES
Instrument Program Flow: YES

构建并运行。如果你破坏了应用程序的测试目标,* .gcda文件会自动创建,因为测试的应用程序终止,如果运行常规目标,* .gcda文件是在你明确杀死你的应用程序时创建的(另一种方法是设置< em> UUPpplicationExitsOnSuspend = YES in .plist)

请注意,它在使用xCode 4.4.1

创建的新项目上经过了充分测试

答案 1 :(得分:3)

您只需在构建设置中设置以下内容:
生成测试覆盖率文件:是
仪器程序流程:是

只有在应用程序退出时才会输出.gcda文件,因此对于iOS版本,您应该在Info.plist中将“UIApplicationExitsOnSuspend”设置为YES。

代码覆盖率文件将输出到&lt;派生数据&gt; /Build/Intermediates/.build/<配置&gt; /&lt; targetName&gt; .build / Objects-normal / i386

答案 2 :(得分:0)

似乎使用LLVM和CoverStrory的代码覆盖在Xocde4.4.1中被破坏,

https://devforums.apple.com/message/717814#717814 - apple dev论坛中的链接是否讨论此问题。