在我的MAC mini osx-snow-leopard xcode4.1上,我的项目可以运行SenTestingKit.framework测试。获得了osx-lion 10.7.4和xcode4.3的MACBook Pro。对于同一个项目,我无法运行单元测试,因为找不到SenTestingKit.framework。我将{mini}中的sentestingkit复制到“/Applications/Xcode.app/Contents/Developer/Library/Frameworks”。添加到每个目标框架搜索路径:
$(继承)
“$(DEVELOPER_LIBRARY_DIR)/ Frameworks”
这解析为“/Applications/Xcode.app/Contents/Developer/Library/Frameworks”。
我可以将sentestingkit添加到项目中,以便进行编译。我无法运行Product>由于此链接错误undefined-symbol进行测试:
Undefined symbols for architecture i386:
"_OBJC_METACLASS_$_SenTestCase", referenced from:
_OBJC_METACLASS_$_Field_MobileApplicationTests in Field_MobileApplicationTests.o
"_OBJC_CLASS_$_SenTestCase", referenced from:
_OBJC_CLASS_$_Field_MobileApplicationTests in Field_MobileApplicationTests.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
答案 0 :(得分:0)
通过使用我想要测试的类,我遇到了同样的问题。我收到了这个错误:
Undefined symbols for architecture i386:
"_OBJC_METACLASS_$_JsonDictParser", referenced from:
_OBJC_METACLASS_$_MainData in MainData.o
_OBJC_METACLASS_$_JsonObjectClass in JsonObjectClass.o
"_OBJC_CLASS_$_JsonDictParser", referenced from:
_OBJC_CLASS_$_MainData in MainData.o
_OBJC_CLASS_$_JsonObjectClass in JsonObjectClass.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我已经在课堂上创建了一个我想测试的对象,忘了告诉“目标会员”。所以我确保检查了测试类。
E.g。我想在我的JsonDictParser
课程中使用JsonTestLogicTest
课程进行测试。所以我关注JsonDictParser.m
文件,点击主窗口右侧的File Inspector
,选中Target Membership
,然后检查我的课程,我的考试在JsonTestLogicTest
。} p>
或者打开Project Navigator中的.xcodeproject
文件,选择带有测试方法的目标>构建阶段>编译源并添加.m
文件,其中包含您要测试的类。