这是一个试图通过GHUnit测试目标完成tutorial提供的内容的问题。它是关于将测试目标链接到源目标,这样您就不必手动将源文件包含在测试目标中。以下是提出的解决方案的摘录。
将单元测试添加到使用Xcode 4的现有iOS项目
Project MyExistingApp - > +添加目标 - > iOS - >其他 - >可可单元测试包
将新目标命名为“单元测试”或“MyAppTests”
选择新的“单元测试”目标,然后单击“构建阶段”选项卡,展开“目标”
依赖关系并将MyExistingApp添加为目标依赖关系
单击Build Settings选项卡,将Bundle Loader设置为
$(BUILT_PRODUCTS_DIR)/MyExistingApp.app/MyExistingApp
将“测试主机”构建设置设置为
$(BUNDLE_LOADER)
在您的应用目标中,将默认构建隐藏的符号设置为
否
我按照教程使用GHUnit Test Target进行编译,但是我遇到了运行时错误:
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手动完成所有操作。
答案 0 :(得分:0)
不确定这是否是正确的答案,但它对我有用:
我得到了GHUnits测试用例,并用SenTestCases包装它们。 XCode自动调用SenTestsCases,因此运行测试没有任何麻烦。
像魅力一样工作,不用担心我的异步测试。