0

在我的 MAC mini 我的项目可以运行 SenTestingKit.framework 测试。得到了带有 10.7.4和的 MACBook Pro 。对于同一个项目,我无法运行单元测试,因为找不到 SenTestingKit.framework。我将从 Mac mini 复制到“/Applications/Xcode.app/Contents/Developer/Library/Frameworks”。添加到每个目标框架搜索路径:
$(inherited)
"$(DEVELOPER_LIBRARY_DIR)/Frameworks"

这解析为“/Applications/Xcode.app/Contents/Developer/Library/Frameworks”。

我可以将添加到项目中以便编译。,我无法运行 Product > Test :

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
4

1 回答 1

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)

我从我的班级创建了一个我想测试的对象,但忘记告诉“目标成员资格”。所以我确保我检查了测试类。

例如,我想在课堂上使用JsonDictParser类进行测试JsonTestLogicTest。所以我关注JsonDictParser.m文件,单击File Inspector主窗口右侧的 ,选择Target Membership并检查我的测试用例所在的类JsonTestLogicTest

或者.xcodeproject在 Project Navigator 中打开文件,使用测试方法 > Build Phases > Compile Sources 选择目标,然后添加.m包含要测试的类的文件。

于 2012-09-07T13:44:08.190 回答