3

我一直在尝试在 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 应用程序的代码覆盖工具

4

3 回答 3

4

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

Generate Test Coverage Files: YES
Instrument Program Flow: YES

构建并运行。如果您运行应用程序的测试目标,*.gcda 文件会自动创建,因为测试的应用程序终止,如果运行常规目标,*.gcda 文件会在您明确终止应用程序时创建(另一种方法是设置UIApplicationExitsOnSuspend =在.plist 中是)

请注意,它在使用 xCode 4.4.1 创建的新项目上经过了很好的测试

于 2012-08-22T19:46:31.630 回答
3

您只需要在 Build Settings 中设置以下内容:
Generate Test Coverage Files: YES
Instrument Program Flow: YES

.gcda 文件只会在应用程序退出时输出,因此对于 iOS 构建,您应该在 Info.plist 中将 'UIApplicationExitsOnSuspend' 设置为 YES。

代码覆盖率文件将输出到 <派生数据>/Build/Intermediates/.build/<configuration>/<targetName>.build/Objects-normal/i386

于 2012-08-22T14:36:12.100 回答
0

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

https://devforums.apple.com/message/717814#717814 - 苹果开发论坛中讨论此问题的链接。

于 2012-08-22T14:33:45.640 回答