OCUnit、NSLog 和 XCode 3.1

Posted

技术标签:

【中文标题】OCUnit、NSLog 和 XCode 3.1【英文标题】:OCUnit, NSLog, and XCode 3.1 【发布时间】:2009-07-01 18:33:04 【问题描述】:

我一直在 XCode 3.0 中使用 OCUnit(XCode 附带的默认安装)。我很高兴能够运行我的测试并在 Build Results 窗口中查看结果,以及我输出的任何 NSLog() 消息。

但是,使用 XCode 3.1 测试运行良好,但我突然失去了 NSLog() 输出。有人知道它去哪儿了吗?

【问题讨论】:

【参考方案1】:

我自己只是在学习这些东西,不得不四处寻找来回答这个问题(XCode 3.1.2)。

运行后进入构建结果窗口。它可能不会自动打开,具体取决于配置。如果需要,构建/构建结果菜单选项将打开它。

在两个窗格之间的中间区域,您会在左侧看到 4 个按钮。第三个图标只有 3-4 条水平线。单击以切换构建脚本。这显示了运行中的所有构建步骤和 NSLog() 输出。

【讨论】:

我实际上做的是制作一个宏来包装 NSLog() 并忘记在我的测试项目中#define DEBUG。但是,我会给你答案,因为大多数人并不像我这样愚蠢;) 我在 3.2.1 的构建结果窗口中没有看到这个按钮 该图标在 3.2 中更改为黑色/黄色“gdb”图标。等效于运行/控制台菜单项(如 PiPeep 所述)。 Command-Shift-B 也会带您到那里。如果你已经在那个窗口中构建你的单元测试,你不应该扩展任何东西。在 Xcode 3.2 (Snow Leopard) 中“显示日志”按钮已经消失,但您可以选择 Run custom shell script 'Run Script' 行并单击右侧的小气泡展开单元测试日志。也适用于其他构建阶段,例如编译和链接。【参考方案2】:

虽然不方便,但我发现 NSLog() 消息会发送到 OSX Console.app。

Applications > Utilities > Console.app 我通过 otest 过滤以查看输出。

我无法使用上述任何方法。

【讨论】:

【参考方案3】:

(在菜单栏上)运行 -> 控制台(Shift-Apple-R)

【讨论】:

以上是关于OCUnit、NSLog 和 XCode 3.1的主要内容,如果未能解决你的问题,请参考以下文章

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

Xcode 4 中的 SenTest OCUnit

Xcode 5//iOS 6 和 7//TDD:OCUnit 或 XCTest

将 OCUnit 测试框架添加到现有 Xcode 项目时遇到问题

OCUnit/XCode 单元测试的优秀测试运行器

OCUnit 测试失败,但 Xcode Log Navigator 说没有问题