使用 XCode 3 对 iPhone 静态库进行单元测试

Posted

技术标签:

【中文标题】使用 XCode 3 对 iPhone 静态库进行单元测试【英文标题】:Unit testing an iPhone static library with XCode 3 【发布时间】:2009-07-07 18:46:11 【问题描述】:

我正在为 iPhone 编写一些静态库,并且还希望拥有一套单元测试。 XCode 3 为静态库和单元测试提供了模板,但我想知道它们应该如何在静态库项目中组合在一起?

在我的静态库项目中,我创建了一个用于单元测试的目标,但还希望创建一个可执行文件来启动单元测试,而不是针对静态库中的类运行。

这样做的程序是什么?

【问题讨论】:

【参考方案1】:

请注意,某些类别的测试(例如任何依赖于系统调用(如 [UIApplication sharedApplication] 工作的任何东西)都需要单独的目标,而纯逻辑测试则不需要。

使用 Unit Test 创建一个新项目并查看添加了什么 - 基本上您可以轻松地做同样的事情,创建一个新目标并选择“Unit Test Bundle”作为目标类型。

【讨论】:

太棒了 - 我现在可以在构建时执行这些 - 但我如何调试所述单元测试? 还请任何坚持这一点的人查看此线程上的更多详细信息:***.com/a/11267670/662605【参考方案2】:

您必须在单元测试目标中添加所有与 .m 相关的文件。 (只需拖放!)

【讨论】:

【参考方案3】:

如果人们在使用静态库时仍然遇到问题:

我创建了一篇文章来解释如何创建静态库以及如何在项目中使用它们:

Xcode:关于如何使用静态库的完整说明: http://www.sodeso.nl/?p=822

对于静态库的单元测试部分,我没有说明如何设置它,但我确实创建了一个静态库模板,该模板使用 Google Toolkit for Map 单元测试框架,您可以下载并添加到你的 Xcode 安装:

Xcode:带有 Google Toolkit for Mac 测试框架的静态库模板: http://www.sodeso.nl/?p=982

【讨论】:

以上是关于使用 XCode 3 对 iPhone 静态库进行单元测试的主要内容,如果未能解决你的问题,请参考以下文章

Xcode for iPhone 中静态库和动态库的区别

iPhone静态库创建

Xcode 3.1.1 和静态库

未生成适用于 iOS 的 Xcode 6.1 静态库 .a

如何在Xcode中使用静态库

没有源文件的Xcode静态库(只聚合其他静态库)