我正在尝试将 OCMock 添加到我现有的 Cocoa 项目中,但遇到了一个奇怪的问题,我没有看到其他人涵盖。
我最终将其隔离为以下内容:如果我只是将 OCMock.framework 引用添加到我的项目(即以某种方式将其拖入 Link Binary With Libraries 构建阶段),当我运行测试时,会启动真正的应用程序。
没有OCMock,输出正常:
Test Suite 'Multiple Selected Tests' started at 2013-02-07 20:07:03 +0000
使用 OCMock 框架链接(部分输出):
Error loading MyProjTests.octest/Contents/MacOS/MyProjTests
Library not loaded: @rpath/OCMock.framework/Versions/A/OCMock
Reason: image not found
IDEBundleInjection.c: Error loading bundle '/Users/alex/Library/Developer/Xcode/DerivedData/MyProj-bqwyxyspdiudktfnjcdgibdmpgsa/Build/Products/Debug/MyProjTests.octest'
此后,其他应用程序输出将正常显示。当应用程序运行时,测试进度在项目导航器的最后一个选项卡上旋转,并且在您退出应用程序之前不会停止。因此,测试应该在您的应用程序运行的整个过程中都在进行中。
清除测试主机或捆绑加载器并没有解决问题,只会产生错误架构的链接错误。
我正在使用最新的 Xcode,4.6。非常感谢任何帮助。