Xcode 4 中的 SenTest OCUnit

Posted

技术标签:

【中文标题】Xcode 4 中的 SenTest OCUnit【英文标题】:SenTest OCUnit in Xcode 4 【发布时间】:2011-05-27 17:44:07 【问题描述】:

我找不到任何关于在 Xcode 4 中使用 OCUnit 测试的最新信息,即使它是一个重新设计的功能。

Apple 自己在 Organizer 中的文档来自 2005 年 (OS X 10.3)。

我以为我只是继续尝试自己设置。

1:制作了一个新的测试目标。 (测试单元)

2:确保项目和目标中的所有 Base SDK 设置都设置为 ios 4.3。

3:添加了一个测试类

4:确保框架搜索路径指向框架文件夹

(4.1?)手动将 SenTesting 框架添加到我的 testTarget

当我将我的方案设置为“TestUnit iOS 4.3 Simulator”并尝试运行它时,会弹出一个错误消息“所选的运行目标对此操作无效。”。

我不知道上述是否是将 OCUnit 测试添加到 Xcode 4 的正确方法,所以如果有人有资源或可以指出步骤,我将不胜感激。

提前谢谢你。

【问题讨论】:

【参考方案1】:

在 Xcode 4 中“长按”运行按钮,直到出现下拉菜单并选择测试。

【讨论】:

感谢 RLB,我显然做对了一切,因为当我启动应用程序时,正如您所描述的那样。 更快:⌘U(想想'单元测试)【参考方案2】:

以下步骤对我在模拟器中运行的 iPhone 项目中添加单元测试很有用:

    将 Cocoa Touch 单元测试目标添加到项目中。添加目标为项目添加了一个单元测试类。 修改应用程序的方案以运行单元测试。这涉及将单元测试目标添加到方案的测试步骤。我使用应用程序的方案进行单元测试,而不是 Xcode 在添加单元测试目标时添加的单元测试方案。 选择产品 > 测试。

您不需要将 SenTesting 框架添加到您的项目中。此外,如果您要对在模拟器中运行的 iPhone 应用程序进行单元测试,请确保测试主机构建设置为空白。模拟器不支持应用程序托管的单元测试。

【讨论】:

谢谢马克,这是一个很好的分步指南。我无法在 Apple 文档、此处或使用 Google 的任何地方找到上述内容。 +1:这是一个很棒的分步指南,非常简洁,让测试对我来说非常快速。【参考方案3】:

另外,为避免在 UnitTest 目标中出现“选定的运行目标对此操作无效”消息,请打开其 Biuld 方案并选择运行

【讨论】:

以上是关于Xcode 4 中的 SenTest OCUnit的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Xcode 4 和 OCUnit 运行应用程序测试?

使用 UIWebView 进行单元测试

创建项目后添加 SenTest 测试目标

Xcode 的 OCUnit 测试能否在 iOS 设备而不是模拟器上运行

OCUnit、NSLog 和 XCode 3.1

XCode OCUnit 在运行任何测试代码之前崩溃并出现 Abort 陷阱:6