这是一个试图通过 GHUnit 测试目标完成本教程提供的内容的问题。它关于将测试目标链接到源目标,这样您就不必手动将源文件包含在测试目标中。以下是提出的解决方案的摘录。
使用 Xcode 4 将单元测试添加到现有 iOS 项目
项目 MyExistingApp -> + 添加目标 -> iOS -> 其他 -> Cocoa 单元测试包
将新目标命名为“Unit Tests”或“MyAppTests”</p>
选择新的“单元测试”目标并单击构建阶段选项卡,展开目标
依赖项并将 MyExistingApp 添加为目标依赖项
单击 Build Settings 选项卡并将 Bundle Loader 设置设置为
$(BUILT_PRODUCTS_DIR)/MyExistingApp.app/MyExistingApp
将测试主机构建设置设置为
$(BUNDLE_LOADER)
在您的应用程序目标中,将 Symbols Hidden by Default 构建设置设置为
不
我按照教程使用 GHUnit 测试目标对其进行编译,但出现运行时错误:
warning: This configuration supports "Darwin64" but is attempting to load
an executable of type i386 which is unlikely to work.
Attempting to continue.
`/usr/lib/dyld' has changed; re-reading symbols.
warning: Inconsistent DBX_SYMBOL_SIZE
/Users/...Tests.app/Tests: /Users...Tests.app/Tests: cannot execute binary file
感谢你的帮助!
编辑
我意识到上面发布的教程和使用 GHUnit 有一个问题。上面的教程假设您使用的是 OCUnit,它会启动一个捆绑加载器目标。然而,GhUnit 目标必须是可执行文件。如果有人想分享如何将源文件链接到可执行目标,我将不胜感激。现在,我将使用 GHUnit 手动完成所有操作。