sha*_*ter 23 xcode linker unit-testing objective-c ocunit
我想在我的XCode应用程序中为类编写一些逻辑单元测试.在Xcode 4中,我在Project Navigator中单击了项目名称,然后从底部单击Add Target.我选择了其他的"Cocoa Touch Unit Testing Bundle",给新目标一个"测试"的"产品名称",并完成.
因为我要测试的类是作为现有应用程序目标的一部分编译的,所以对于我的新"测试"目标,我立即转到Build Phases选项卡并将我现有的应用程序目标添加为唯一的目标依赖项.
然后我转到创建的tests.m文件,导入我要测试的类(在它下面ReleasePlanManager
,并调用它的一个方法.但链接器失败,出现如下错误:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_ReleasePlanManager", referenced from:
objc-class-ref in tests.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
所以这个类是找不到的,即使(根据我的理解)添加应用程序目标(它是其中的一部分)应该足够了吗?
任何帮助将不胜感激.谢谢!
Jon*_*eid 33
您的测试包需要额外的设置:
$(BUILT_PRODUCTS_DIR)/AppName.app/AppName
(使用您的应用程序名称替换两个位置的AppName)$(BUNDLE_LOADER)
(如果您从头开始创建项目并启用单元测试,则会为您设置这些项目.但是如果您将单元测试包添加到现有项目中,则它们不会.)
归档时间: |
|
查看次数: |
6657 次 |
最近记录: |